ccstudio
CC Studio Installation & Execution Process:
Video - link(step1) link(step2)
1. Installation file -Link (UNRAR/UNZIP, then double click on file)
2. open
3. scroll in the middle ; select C6713 Little Endian simulator; then click import
click YES and CC Studio Window opens Automatically.
if not, close all running programs, then restart PC.
5. PROJECT ---> NEW PROJECT -->
xyz (or any name of the project) in empty box.
File ---> New ---> Source File
(don't forget to provide the extension as filename.c)
(go to to lib:
now select rts6700.lib
8: path is: C --> CCstudio -->tutorial --> sim64xx --> hello1 -->hello (before this click Linker Command files)
9. Project --> Comiple File
10. Project ---> Build
ignore warnings
11. File ---> Load Program
in pop-up window:
path is C--> CCstudio ---> MyProjects ---> XYZ --->Debug
select the filename.out
:Program(s) to run using CC Studio:
(i) Linear Convolution:
#include <math.h>
#include <stdio.h>
void calc_conv(int*, int*);
// Choose any length. They must
// all be equal though.
int x[10], h[10], y[10];
int l1, l2 = 0;
// Driver code
void main()
{
printf("Enter the length of "
"the first sequence: ");
scanf("%d", &l1);
printf("Enter the length of the"
" second sequence: ");
scanf("%d", &l2);
// Delegating calculation to a
// separate function.
calc_conv(&l1, &l2);
}
void calc_conv(int* len1, int* len2)
{
int l = (*len1) + (*len2) - 1;
int i, j, n, k = 0;
// Getting values of 1st sequence
for (i = 0; i < *len1; i++) {
printf("Enter x[%d]:",i);
scanf("%d", &x[i]);
}
// Getting values of 2nd sequence
for (j = 0; j < *len2; j++) {
printf("Enter h[%d]:",j);
scanf("%d", &h[j]);
}
for (n = 0; n < l; n++) {
y[n] = 0;
for (k = 0; k < *len1; k++) {
// To right shift the impulse
if ((n - k) >= 0
&& (n - k) <= *len2) {
// Main calculation
y[n] = y[n] + x[k] * h[n - k];
}
}
printf("%d\t", y[n] );
}
}
#include <stdio.h>
void calc_conv(int*, int*);
// Choose any length. They must
// all be equal though.
int x[10], h[10], y[10];
int l1, l2 = 0;
// Driver code
void main()
{
printf("Enter the length of "
"the first sequence: ");
scanf("%d", &l1);
printf("Enter the length of the"
" second sequence: ");
scanf("%d", &l2);
// Delegating calculation to a
// separate function.
calc_conv(&l1, &l2);
}
void calc_conv(int* len1, int* len2)
{
int l = (*len1) + (*len2) - 1;
int i, j, n, k = 0;
// Getting values of 1st sequence
for (i = 0; i < *len1; i++) {
printf("Enter x[%d]:",i);
scanf("%d", &x[i]);
}
// Getting values of 2nd sequence
for (j = 0; j < *len2; j++) {
printf("Enter h[%d]:",j);
scanf("%d", &h[j]);
}
for (n = 0; n < l; n++) {
y[n] = 0;
for (k = 0; k < *len1; k++) {
// To right shift the impulse
if ((n - k) >= 0
&& (n - k) <= *len2) {
// Main calculation
y[n] = y[n] + x[k] * h[n - k];
}
}
printf("%d\t", y[n] );
}
}
2. Circular Convolution:
#include<stdio.h>
int m,n,x[30],h[30],y[30],i,j,temp[30],k,x2[30],a[30];
void main()
{
printf(" enter the length of the first sequence\n");
scanf("%d",&m);
printf(" enter the length of the second sequence\n");
scanf("%d",&n);
printf(" enter the first sequence\n");
for(i=0;i<m;i++)
scanf("%d",&x[i]);
printf(" enter the second sequence\n");
for(j=0;j<n;j++)
scanf("%d",&h[j]);
if(m-n!=0) /*If length of both sequences are not equal*/
{
if(m>n) /* Pad the smaller sequence with zero*/
{
for(i=n;i<m;i++)
h[i]=0;
n=m;
}
for(i=m;i<n;i++)
x[i]=0;
m=n;
} y[0]=0;
a[0]=h[0];
for(j=1;j<n;j++) /*folding h(n) to h(-n)*/
a[j]=h[n-j];
/*Circular convolution*/
for(i=0;i<n;i++)
y[0]+=x[i]*a[i];
for(k=1;k<n;k++)
{
y[k]=0;
/*circular shift*/
for(j=1;j<n;j++)
x2[j]=a[j-1];
x2[0]=a[n-1];
for(i=0;i<n;i++)
{ a[i]=x2[i];
y[k]+=x[i]*x2[i];
}
}
/*displaying the result*/
printf(" the circular convolution is\n");
for(i=0;i<n;i++)
printf("%d \t",y[i]);
}
int m,n,x[30],h[30],y[30],i,j,temp[30],k,x2[30],a[30];
void main()
{
printf(" enter the length of the first sequence\n");
scanf("%d",&m);
printf(" enter the length of the second sequence\n");
scanf("%d",&n);
printf(" enter the first sequence\n");
for(i=0;i<m;i++)
scanf("%d",&x[i]);
printf(" enter the second sequence\n");
for(j=0;j<n;j++)
scanf("%d",&h[j]);
if(m-n!=0) /*If length of both sequences are not equal*/
{
if(m>n) /* Pad the smaller sequence with zero*/
{
for(i=n;i<m;i++)
h[i]=0;
n=m;
}
for(i=m;i<n;i++)
x[i]=0;
m=n;
} y[0]=0;
a[0]=h[0];
for(j=1;j<n;j++) /*folding h(n) to h(-n)*/
a[j]=h[n-j];
/*Circular convolution*/
for(i=0;i<n;i++)
y[0]+=x[i]*a[i];
for(k=1;k<n;k++)
{
y[k]=0;
/*circular shift*/
for(j=1;j<n;j++)
x2[j]=a[j-1];
x2[0]=a[n-1];
for(i=0;i<n;i++)
{ a[i]=x2[i];
y[k]+=x[i]*x2[i];
}
}
/*displaying the result*/
printf(" the circular convolution is\n");
for(i=0;i<n;i++)
printf("%d \t",y[i]);
}