基于CCS实现带通滤波器的DSP实现

该博客分享了如何使用CCS(Code Composer Studio)实现带通数字滤波器,以保留400Hz频率成分。博主通过MATLAB设计FIR滤波器,设定滤波系数,并将其导入CCS进行C语言编程。经过滤波处理,原信号中的100Hz和1000Hz成分被滤除,保留了400Hz信号。详细代码和效果图附在文章中。
摘要由CSDN通过智能技术生成

带通数字滤波器的DSP实现

设计内容及要求:

已知x1(n)=sin(2pif11nT);

x2(n)=0.5sin(2pif12n*T)

x3(n)=0.8sin(2pif13n*T);

x(n) = x1(n)+ x2(n)+ x3(n)

其中:f11=100; f12=400; f13=1000; fs=10000

要求:采用c语言编程,分别设计FIR带通滤波器,把f11和f13滤掉,保留f12。

MATLAB部分
1)设置好FIR滤波系数
在这里插入图片描述
2)将系数导出为MATLAB变量
在这里插入图片描述
覆盖原数据
在这里插入图片描述
导出Num数据
在这里插入图片描述
CCS部分
1)将FIR滤波系数粘贴到CCS中在这里插入图片描述
代码部分

#include "math.h"
#define Fs 10000         /* 采样频率 */
#define T  1/Fs         /* 采样时间 */
#define f1 100          /* 正弦信号1频率 */
#define f2 400         /* 正弦信号2频率 */
#define f3 1000         /* 正弦信号3频率 */
#define PI 3.1415926
#define w1 (2*PI*f1*T)  /* 正弦信号1数字频率=2*pi*f1/Fs =2*pi/100*/
#define w2 (2*PI*f2*T)  /* 正弦信号2数字频率=2*pi*f2/Fs =2*pi*4/10*/
#define w3 (2*PI*f3*T)  /* 正弦信号3数字频率=2*pi*f3/Fs =2*pi/10*/
#define a1 1        /* 正弦信号1幅度 */
#define a2 0.5         /* 正弦信号2幅度 */
#define a3 0.8         /* 正弦信号3幅度 */
#define FIRNUMBER 100//滤波阶数

#define FIRNUMBER 100//滤波阶数
#define FIRNUMBER 100//滤波阶数
extern int fir(int *,int *,unsigned int,int );
/* Low-pass FIR filter coefficients */
float f2PI=2*PI;
float in_signal_max = 
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值