📄 升余弦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 + -