DSP的数字滤波器的实现
来源:互联网 发布:九品网络电视 是什么 编辑:程序博客网 时间:2024/05/18 20:11
数字滤波器由数字乘法器、加法器和延时单元组成的一种算法或装置。数字滤波器的功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。
巴特沃斯滤波器是电子滤波器的一种。巴特沃斯滤波器的特点是通频带的频率响应曲线最平滑。
切比雪夫滤波器是在通带或阻带上频率响应幅度等波纹波动的滤波器。
设计过程
v1. 在Matlab语言中确定滤波器的各种参数
v2. 将Matlab语言转换成通用语言形式
v3. CCS中编写实际模拟运行的程序,采用DSP语言(C54xx和C6x)
v4. 在硬件系统中调试程序
MATLAB编程
MATLAB由于具有数值计算功能、符号计算功能、数据可视化功能、建模仿真可视化功能使得在命题构思、模型建立、仿真研究、假想验证、数据可视化各个环节有着非凡的功能。使用MATLAB中的Cheby1型函数。下面是在MATLAB中设计的低通IIR型切比雪夫滤波器程序。
N=256; 数据点数
v fs=600; 采样频率
v dt=1/fs;
v for k=1:N;
v f1=100; f2=250; 信号频率
v y(k)=sin(2*pi*f1*k*dt)+sin(2*pi*f2*k*dt)+0.5*sin(2*pi*(f2
+20)*k*dt);
v end
v lp=200; 截止频率
v wn1=2*lp/fs; 函数的参数
v [z1,p1,k1] = CHEBY1(2,0.5,wn1);滤波器的极零点表示
v [b1,a1] = CHEBY1(2,0.5,wn1);滤波器的传递函数表示
v b1=b1/(8*1.0711); 将参数按比例缩小
v a1=a1/(8*1.0711); 为了DSP做准备,MATLAB中不需要
v yy1=filter(b1,a1,y); 滤波
v y=fft(y,N); 将信号做FFT变换
v pyy=y.*conj(y); 做功率谱分析
v f=(0:(N/2-1));
v figure(1);
v plot(f,pyy(1:N/2))
v y=fft(yy1,N); 将滤波后数据做功率谱分析
v pyy=y.*conj(y);
v f=(0:(N/2-1));
v figure(2);
v plot(f,pyy(1:N/2))
将一些Matlab中的函数替换成简单的形式,将原来的filter函数去掉,自己编写一段函数,使其功能与filter函数的功能是等同的,为了方便程序从
MATLAB的平台转换到DSP汇编的平台上。
Y=FILTER[B,A,X]是以B,A系数对X输入进行滤波,以得到输出Y,它是由如下的数学表达式执行滤波功能,表达式如下:
v a(1)*y(n)=b(1)*x(n)+b(2)*x(n-1)+…+b(nb+1)*x(n-nb)-a(2)*y(n-1)-…-a(na+1)*y(n-na)
可以编写一个for循环来实现上面的表达式,在上面程序中去掉yy1=filter(b1,a1,y),加入如下程序:
v yy1(1)=0;
v yy1(2)=0;
v b(1)=0.0625; b(2)=0.1250; b(3)=0.0625;
v a(1)=0.1167; a(2)=0.1033; a(3)=0.0448;
v n=254;
v for i=1:n
v yy1(i+2)=0.5*y(i+2)+y(i+1)+0.5*y(i)-
v 0.83*yy1(i+1)-0.36*yy1(i);
v end
- DSP的数字滤波器的实现
- 7 数字滤波器的结构
- 计算数字滤波器的频率响应
- [matlab]归一化的数字滤波器
- 数字滤波器的时域理解
- IIR数字滤波器的设计
- 请教关于数字滤波器的问题
- 几种常用的数字滤波器
- 实验三:数字滤波器的设计
- 数字滤波器的幅频响应
- 开方运算的DSP实现
- FFT算法的DSP实现
- FIR滤波器的DSP实现
- 双音多频 DTMF 拨号信号的产生——IIR 数字滤波器的设计和实现
- 六、数字滤波器的实现——6.1 IIR的基本结构
- FIR数字滤波器的设计(三)
- 计算数字滤波器的频率响应 (2)
- 模拟滤波器到数字滤波器的转化
- android腾讯微博吹一吹实现原理
- EditText完美实现只读(Read-Only/Non-Editable)
- linux下查找某文件的find 命令
- DBMS_STATS.GATHER_TABLE_STATS详解 Oracle统计值
- AVL树的插入、删除、旋转
- DSP的数字滤波器的实现
- JS try.....catch的使用
- 常见字符串操作: C++ string 类 和Java String类 用法小结
- 触发器
- 设计模式
- http 协议
- Android NDK 打印log
- ios UIScrollView 循环滑动
- vector和bitset使用例子