?? 升余弦rcosine.cpp
字號:
#include <math.h>
#include <stdio.h>
#define pi 3.141592653589793
// 本函數實現滾降特性函數,升余弦濾波器
// 說明:fs/fd必須為整數,fd為信號采樣頻率,fs為濾波器采樣頻率
// 當函數返回0時為正常返回,為-1時為異常返回
int rcosine(float fd,float fs,float rcs[])
{ int k,n; /* 函數(升余弦濾波器)返回0為正常返回,-1為異常返回 */
float kf,nf;
nf=fs/fd; n=int(nf);
if(nf!=n) return(-1); /* 當fs/fd不是整數時異常返回 */
for(k=0; k<3*n; k++)
{ kf=k-3*n;
if(kf==-n) rcs[k]=0;
else
{ nf=kf/n; kf=pi*nf;
rcs[k]=sin(kf)/kf*cos(kf/2)/(1-nf*nf);
}
rcs[6*n-k]=rcs[k];
}
rcs[3*n]=1.0;
return(0); /* 當fs/fd是整數時正常返回 */
}
void main( )
{ int flag,i;
static float rcs[121];
flag=rcosine(0.05,1.0,rcs);
if(flag==0)
for(i=0;i<121;i++)
printf("%.4f\t",rcs[i]);
else printf("\n\n error!");
scanf("%d",&i);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -