收藏 分享(赏)

数字滤波器设计.pdf

上传人:HR专家 文档编号:6263879 上传时间:2019-04-03 格式:PDF 页数:35 大小:3.11MB
下载 相关 举报
数字滤波器设计.pdf_第1页
第1页 / 共35页
数字滤波器设计.pdf_第2页
第2页 / 共35页
数字滤波器设计.pdf_第3页
第3页 / 共35页
数字滤波器设计.pdf_第4页
第4页 / 共35页
数字滤波器设计.pdf_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、The successs road基于DSP的数字滤波的仿真和实现远见品质 今天的内容v 数字滤波的基本原理v 数字滤波的MATLAB仿真v 基于DSP的数字滤波的软件实现v 基于DSP的硬件系统v 基于硬件系统的数字滤波实现远见品质第一部分数字滤波的基本原理远见品质 数字滤波器的设计1 滤波器的应用对象频率估计,去噪,信号处理2 滤波器的设计要求指标(理论和实际)阶数,转折频率,纹波系数等3 滤波器的设计高级语言,汇编语言4 滤波器的实现软件调试,硬件调试远见品质 设计滤波器v滤波器的设计要求设计滤波器对信号频率为100Hz,250Hz,270Hz的三正弦信号,采样频率为600Hz,要求滤去

2、200Hz以上的信号成分。远见品质 设计思路v1 . 低通滤波器v2 . 不需要很高的阶数远见品质 设计思路v1 . 定指标v2 . 确定滤波器的系数v3 . 设计程序v4 . 调试远见品质 设计思路v设计一个3阶低通切比雪夫滤波器将信号源中频率为200Hz以上的信号滤掉,留下频率为100Hz的信号频率,达到滤波的效果。远见品质第二部分数字滤波的MATLAB仿真远见品质 设计过程v1. 在Matlab语言中确定滤波器的各种参数v2. 将Matlab语言转换成通用语言形式v3. CCS中编写实际模拟运行的程序,采用DSP语言(C54xx和C6x)v4. 在硬件系统中调试程序远见品质 MATLAB

3、编程vMATLAB由于具有数值计算功能、符号计算功能、数据可视化功能、建模仿真可视化功能使得在命题构思、模型建立、仿真研究、假想验证、数据可视化各个环节有着非凡的功能。v使用MATLAB中的Cheby1型函数。下面是在MATLAB中设计的低通IIR型切比雪夫滤波器程序远见品质 MATLAB程序v N=256; 数据点数v fs=600; 采样频率v dt=1/fs; v for k=1:N; v f1=100; f2=250; 信号频率vy(k)=sin(2*pi*f1*k*dt)+sin(2*pi*f2*k*dt)+0.5*sin(2*pi*(f2+20)*k*dt); v endv lp=

4、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中不需要远见品质 MATLAB程序vyy1=filter(b1,a1,y); 滤波vy=fft(y,N); 将信号做FFT变换vpyy=y.*conj(y); 做功率谱分析vf=(0:(N/2-1);vfigure(1);vplot(f,pyy(1:N/2)

5、vy=fft(yy1,N); 将滤波后数据做功率谱分析vpyy=y.*conj(y);vf=(0:(N/2-1);vfigure(2);vplot(f,pyy(1:N/2)远见品质 滤波前的信号远见品质 滤波后的信号远见品质v滤波器设计的第一步,参数选择已经完成。v紧接着,做一些必要的程序转换远见品质 程序变换v将一些Matlab中的函数替换成简单的形式v将原来的filter函数去掉,自己编写一段函数,使其功能与filter函数的功能是等同的,为了方便程序从MATLAB的平台转换到DSP汇编的平台上。远见品质 程序变换vY=FILTERB,A,X是以B,A系数对X输入进行滤波,以得到输出Y,它

6、是由如下的数学表达式执行滤波功能,表达式如下:va(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)远见品质 程序变换v可以编写一个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:nv yy1(i+2)=0

7、.5*y(i+2)+y(i+1)+0.5*y(i)-v 0.83*yy1(i+1)-0.36*yy1(i); v end远见品质第三部分基于DSP的数字滤波的软件实现远见品质 软件编程v1. 待滤波数据的产生.global inputdatainputdata.word21315v2. 初始化数据的输入b1 .set 1456H ; b1=0.1589 b2 .set 3D07H ; b2=0.4768v3. 滤波器程序远见品质 C54xx滤波器代码v STM #DATA_SIZE,BRC ;设置块循环计数器v RPTB filter_end-1 ;头3个值直接通过v MVDD *ORIGIN

8、+,*INPUT v RPT #K_B-1-1 ;b1,b2,b3, b4的个数v MAR *INPUT-0% ;调整输入到相应位置v MPY *INPUT+0%,#b4,B ;B=b4*x(i) v LD B,Av MPY *INPUT+0%,#b3,B ;B=b3*x(i+1) v ADD B,Av MPY *INPUT+0%,#b2,B ;B=b2*x(i+2) v ADD B,Av MPY *INPUT+0%,#b1,B ;B=b1*x(i+3)v ADD B,A ;y(x+3)=Av MPY *FILTER+0%,#a3,B ;B=y(i)*a3v ADD B,A ;A=A+B v

9、MPY *FILTER+0%,#a2,B ;B=y(i+1)*a2v ADD B,A ;A=A+B v MPY *FILTER+0%,#a1,B ;B=y(i+2)*a1v ADD B,A ;y(x+3)=A+Bv STH A,*FILTER-0% ;为下一次滤波保存数据v STH A,*OUTPUT+ ;输出数据到OUTPUT的下一个单元v MAR *FILTER-0% ;调整滤波器到相应位置v filter_end: NOP 远见品质 C6x滤波器代码v FILTER_LOOP:v LDW *ORIGIN+,A4 ;第1个源数据送到A4v LDW *ORIGIN+,A5 ;第2个源数据送到

10、A5v LDW *ORIGIN+,A6 ;第3个源数据送到A6v LDW *ORIGIN-(8),A7v ;第4个源数据送到A7,修改指针到第2个源数据,为下一次滤波作准备v LDW *OUTPUT+,A8 ;第1个输出数据送到A8v LDW *OUTPUT+,A9 ;第2个输出数据送到A9v LDW *OUTPUT+,A10 ;第3个输出数据送到A10v MPY A4,coffb4,B9 ;开始做滤波的乘法,并将结果累加v MPY A5,coffb3,B10v MV B9,A0 v ADD B10,A0,A0v MPY A6,coffb2,B9 v MPY A7,coffb1,B10v AD

11、D B9,A0,A0v ADD B10,A0,A0v MPY A8,coffa3,B9 v MPY A9,coffa2,B10v ADD B9,A0,A0 v ADD B10,A0,A0v MPY A10,coffa1,B9 v B0 B FILTER_LOOP ;判断是否完成252个数据的滤波v ADD B9,A0,A0 ;此时A0为一次滤波的结果v SHR A0,16,A0 ;将A0右移16为,取其高16位v STW A0,*OUTPUT-(8) ;将滤波结果送到输出数据,并将输出数据指针调整到下一个滤波位置v B0 SUB B0,1,B0 远见品质 软件编程v1. 待滤波数据的产生v2. 初始化数据的输入v3. 滤波器程序v4. 编写相关文件v5. 查看运行结果远见品质 软件编程v利用CCS的图像功能远见品质 软件编程远见品质第四部分基于DSP的数字滤波的硬件系统远见品质 硬件组成远见品质第五部分基于DSP的数字滤波的硬件实现远见品质 硬件实现采样频率的选取,过采样(过饱和),欠采样抽取滤波器,插值滤波器

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报