毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

DSP数字信号处理课程设计单片机红绿灯

更新时间:2007-9-28:  来源:毕业论文

DSP数字信号处理课程设计单片机红绿灯|DSP课程设计及总结|数字信号处理课程设计课程设计|计算机课程设计|精品课程网站设计

一、        设计目的

 

熟悉filter的设计及作用

傅氏变换后的应用情况

 

二、        内容

 

1、            产生100200300Hz的正弦信号并叠加,前后情况对比

2、            设计在150—250之间的带通

3、            合成信号在通过filter前后的情况对比

 

三、        设计内容

 

()设计思路

1、产生100Hz200Hz300Hz的正弦信号

y1=A*sin(2*pi*f1*t);

y2=A*sin(2*pi*f2*t);

y3=A*sin(2*pi*f3*t);

 

2、将三个正弦信号叠加

 

y123=y1+y2+y3;

 

3、通过fft函数进行傅立叶变换,转换成频域函数

 

y1_fft=fft(y1);

y2_fft=fft(y2);

y3_fft=fft(y3);

y123_fft=fft(y123);

 

4、带通滤波器的设计

 

f_N=3000; %取样频率

f_P=[150,250];                             %通带截止频率

f_S=[100,300];                             %通带起始频率

R_p=3;                                   %通带内波动

R_s=25;                                  %阻带内最小衰减

Ws=f_S/(f_N/2);                        %阻带起始角频率

Wp=f_P/(f_N/2);                        %阻带截止角频率

[n,Wn]=buttord(Wp,Ws,R_p,R_s);      %利用巴特沃斯滤波器设计函数求出滤波器阶数和截至频率

[b,a]=butter(n,Wn);                    %利用butter函数计算滤波器系数

freqz(b,a,1000,3000);                  %计算幅频响应

 

5、合并信号经过带通滤波器后的时域和频域

 

y_filter=filter(b,a,y123);         %计算合并信号通过滤波器后的时域信号

y_filter_fft=fft(y_filter);        %计算合并信号通过滤波器后的频域信号

 

 (二)、程序代码分析

clear;

 

%定义参数及函数方程

fs=1800;

t=1/fs:1/fs:0.05

f1=100;

f2=200;

                     f3=300;

                     A=1;

                     y1=A*sin(2*pi*f1*t);

                     y2=A*sin(2*pi*f2*t);

                     y3=A*sin(2*pi*f3*t);

                     y123=y1+y2+y3;

                    

                     %时域图

                     figure(1);

                     subplot(4,2,1);

                     plot(t,y1,'b');

                     title('y1的时域波形图');

                     xlabel('时间t');

                     ylabel('幅度A');

                     subplot(4,2,2);

                     plot(t,y2,'b');

                     title('y2的时域波形图');

                     xlabel('时间t');

                     ylabel('幅度A');

                     subplot(4,2,3);

                     plot(t,y3,'b');

                     title('y3的时域波形图');

                     xlabel('时间t');

                     ylabel('幅度A');

                     axis([1/fs 0.05 -A A]);

                     subplot(4,2,4);

                     plot(t,y123,'b');

                     title('合成信号的时域波形图');

                     axis([1/fs 0.05 -3*A 3*A]);

                    

                     %频域图

                     w=100;

                     y1_fft=fft(y1);

                     y2_fft=fft(y2);

                     y3_fft=fft(y3);

                     y123_fft=fft(y123);

                     subplot(4,2,5);

                     stem(abs(y1_fft),'r');

                     title('y1的频域波形图');

                     xlabel('频率');

                     ylabel('幅度A');

                     subplot(4,2,6);

                     stem(abs(y2_fft),'r');

                     title('y2的频域波形图');

                     xlabel('频率');

                     ylabel('幅度A');

                     subplot(4,2,7);

                     stem(abs(y3_fft),'r');

                     title('y3的频域波形图');

                     xlabel('频率');

                     ylabel('幅度A');

                     subplot(4,2,8);

                     stem(abs(y123_fft),'r');

                     title('合成信号的频域波形图');

                     xlabel('频率t');

                     ylabel('幅度A');

                    

                     %带通滤波器

                     figure(2);

                     f_N=3000;

                     f_P=[150,250];

                     f_S=[100,300];

                     R_p=3;R_s=25;

                     Ws=f_S/(f_N/2);

                     Wp=f_P/(f_N/2);

                     [n,Wn]=buttord(Wp,Ws,R_p,R_s);

                     [b,a]=butter(n,Wn);

                     freqz(b,a,1000,3000);

                     subplot(2,1,1);

                     axis([0,500,-40,2]);

                    

                     %合并信号经过带通滤波器后的时域和频域波形图

                     figure(3);

                     y_filter=filter(b,a,y123);

                     y_filter_fft=fft(y_filter);

                     subplot(2,2,1);

                     plot(t,y123,'b');

                     title('合成信号的时域波形图');

                     subplot(2,2,2);

                     plot(t,y_filter,'b');

                     title('通过滤波器以后的时域波形图');

                     xlabel('时间');

                     ylabel('幅度A');

                     subplot(2,2,3);

                     stem(abs(y123_fft),'r');

                     title('合成信号的频域波形图');

                     xlabel('频率t');

                     ylabel('幅度A');

                     subplot(2,2,4);

                     stem(abs(y_filter_fft),'r');

                     title('通过滤波器以后的频域波形图');

                     xlabel('频率');

                     ylabel('幅度A');

                    


 

 

 

()、程序运行效果图

 

13个正弦信号及其合成信号的时域和频域的波形图

 

 2滤波器的波形图

 

3合成信号通过滤波器前后的时域和频域图

 

一、        总结

 

 

通过本次课程设计,我对数字信号处理课程有了更深一步的掌握,对利用matlab软件编程的数字信号处理方法有了进一步的了解。在理论课的基础上进行实验实习,是对本门课程的深入学习和掌握,在以后的工作学习中,数字信号的处理都是采用计算机仿真的方法进行测试,跟真实欢迎是一样的,因此,掌握基于计算机的数字信号处理方法对以后的工作和学习有很大的帮助。

本次课程设计用到的主要是数字信号的产生以及数字信号的基本处理过程-----------滤波,可以说,数字信号处理离不开滤波器。程序中主要使用到了2个重要函数:fft(快速傅立叶变换)、filter(滤波器)。其它的还有绘图函数plot(连续函数绘图)、stem(离散函数绘图)。通过这些函数的组合应用,设置适当的参数值,使本设计能够完成数字信号的产生、叠加、频域转换、带通滤波等功能。

综合上述,本次课程设计我对数字信号处理的方法有了直观的认识,掌握了matlab处理的方法,对以后的学习有了很大的帮助

DSP数字信号处理课程设计单片机红绿灯下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©lwfree.cn 六维论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。