当前位置:文档之家› 信号处理课程设计

信号处理课程设计

课程设计报告(2010——2011年度第1学期)名称:《信号分析与处理(自)》题目:使用Matlab工具进行数字信号处理院系:控制与计算机学院班级:测控0803班学号:1081160305学生姓名:黄婷婷指导教师:杨锡运、肖运启设计周数:一周成绩:日期:2010年12月30日《信号分析与处理(自)》课程设计任务书一、目的与要求是使学生通过上机使用Matlab工具进行数字信号处理技术的仿真练习,加深对《信号分析与处理(自)》课程所学基本理论和概念的理解,培养学生应用Matlab等工具进行数字信号处理的基本技能和实践能力,为工程应用打下良好基础。

二、主要内容1.了解Matlab基本使用方法,掌握Matlab数字信号处理的基本编程技术。

掌握数字信号的基本概念。

1)使用Matlab(生成几种典型数字信号(正弦信号、周期信号、高斯随机信号等),2)编程计算离散信号的特征值(均值、方差等)。

3)进行信号加减运算。

2.Matlab编程实现典型离散信号(正弦信号、周期信号、随机信号)的离散傅立叶变换,显示时域信号和频谱图形(幅值谱和相位谱);以正弦周期信号为例,观察讨论基本概念(混叠、泄漏、整周期截取、频率分辨率等)。

3.设计任意数字滤波器,并对某类型信号进行滤波,并对结果进行显示和分析。

三、进度计划四、设计成果要求1.提交完成设计内容的程序2.提交设计报告五、考核方式课程设计报告、设计内容演示和答辩相结合。

考核内容:考勤、纪律、课程设计报告、实际编程能力和基本概念掌握程度等。

学生姓名:黄婷婷指导老师:杨锡运、肖运启2010 年12月30日一、设计正文1.了解Matlab基本使用方法,掌握Matlab数字信号处理的基本编程技术。

掌握数字信号的基本概念。

1)使用Matlab(生成几种典型数字信号(正弦信号、周期信号、高斯随机信号等)):%生成正弦信号sin(8π/n)xn1=sin(pi/8*n1);subplot(3,1,1);stem(n1,xn1,'.');axis([0,40,-1.5,1.5]);%规定横坐标与纵坐标的范围xlabel('n');ylabel('xn1');title('(a)正弦信号');%生成周期信号x=[1 1 1 1 1 0 0 0];%周期为8xn2=x'*ones(1,5);%产生5个周期长度的序列xn2=xn2(:);xn2=xn2';n2=0:length(xn2)-1;subplot(3,1,2);stem(n2,xn2,'.');axis([0,40,-1.5,1.5]);% 规定横坐标与纵坐标的范围xlabel('n');ylabel('xn2');title('(b)周期信号');%生成高斯随机信号xn3=randn(1,n3);%产生均值为0方差为1的高斯随机序列subplot(3,1,3);stem(xn3);axis([0,40,-4,4]);;%设置序列长度为40以及纵坐标范围xlabel('n');ylabel('xn3');title('(c)高斯随机信号');510152025303540nx n 1(a)正弦信号510152025303540nx n 2(b)周期信号510152025303540-4-2024nx n 3(c)高斯随机信号2)编程计算离散信号的特征值(均值、方差等): %生成正弦信号sin(8π/n) xn1=sin(pi/8*n1); subplot(3,1,1); stem(n1,xn1,'.');axis([0,40,-1.5,1.5]);%规定横坐标与纵坐标的范围 xlabel('n');ylabel('xn1');title('(a)正弦信号'); %生成周期信号x=[1 1 1 1 1 0 0 0];%周期为8xn2=x'*ones(1,5);%产生5个周期长度的序列 xn2=xn2(:); xn2=xn2';n2=0:length(xn2)-1; subplot(3,1,2); stem(n2,xn2,'.');axis([0,40,-1.5,1.5]);% 规定横坐标与纵坐标的范围 xlabel('n');ylabel('xn2');title('(b)周期信号'); %生成高斯随机信号xn3=randn(1,n3);%产生均值为0方差为1的高斯随机序列subplot(3,1,3);stem(xn3);axis([0,40,-4,4]);;%设置序列长度为40以及纵坐标范围xlabel('n');ylabel('xn3');title('(c)高斯随机信号');fprintf('正弦信号的均值为%.4f 方差分别为%.4f\n',mean(xn1),var(xn1,1)); fprintf('周期信号的均值为%.4f 方差分别为%.4f\n',mean(xn2),var(xn2,1)); fprintf('高斯随机信号的均值为%.4f 方差分别为%.4f\n',mean(xn3),var(xn3,1)); 运行结果:正弦信号的均值为0.1226 方差分别为0.4728周期信号的均值为0.6250 方差分别为0.2344高斯随机信号的均值为-0.0467 方差分别为1.03203)进行信号加减运算:%生成正弦信号sin(8π/n)ns1=0;nf1=40;n1=[ns1:nf1];xn1=sin(pi/8*n1);%生成周期信号x=[1 1 1 1 1 0 0 0];%周期为8xn2=x'*ones(1,5);%产生5个周期长度的序列xn2=xn2(:);xn2=xn2';ns2=0;nf2=length(xn2)-1;n2=0:nf2;ny=0:max(nf1,nf2);%y的位置向量y1=zeros(1,length(ny));y2=y1;%y1,y2序列初始化y1(find(ny<=nf1))=xn1;y2(find(ny<=nf2))=xn2;ya=y1+y2;%两序列相加ys=y1-y2;%两序列相减%以下为信号相加绘图subplot(4,1,1);stem(n1,xn1,'.');xlabel('n');ylabel('xn1');title('正弦信号');gridsubplot(4,1,2);stem(n2,xn2,'.');xlabel('n');ylabel('xn2');title('周期信号');grid subplot(4,1,3);stem(ny,ya,'.');xlabel('n');ylabel('xn1+xn2');title('序列相加');grid subplot(4,1,4);stem(ny,ys,'.');xlabel('n');ylabel('xn1-xn2');title('序列相减');gridn x n 1正弦信号n x n 2周期信号0510152025303540n x n 1+x n 2序列相加nx n 1-x n 2序列相减2.Matlab 编程实现典型离散信号(正弦信号、周期信号、随机信号)的离散傅立叶变换,显示时域信号和频谱图形(幅值谱和相位谱);以周期信号为例,观察讨论基本概念(混叠、泄漏、整周期截取、频率分辨率等)。

1) Matlab 编程实现典型离散信号的离散傅立叶变换 %生成正弦信号sin(8π/n) ns1=0; nf1=40; n1=[ns1:nf1]; xn1=sin(pi/8*n1);y=fft(xn1,64);%计算xn1的64点DFT %以下为正弦信号的绘图k=0:63;wk=2*k/64;%产生64点DFT 对应的采样点频率(关于\pi 归一化值) subplot(3,1,1);stem(n1,xn1,'.');xlabel('n');ylabel('xn1');title('正弦信号');gridsubplot(3,1,2);stem(wk,abs(y),'.');%绘制64点DFT 的幅频特性图 title('64点DFT 的幅频特性图'); xlabel('\Omega/\pi');ylabel('幅度');subplot(3,1,3);stem(wk,angle(y),'.');%绘制64点DFT 的相频特性图 title('64点DFT 的相频特性图'); xlabel('\Omega/\pi');ylabel('相位');0510152025303540nx n 1正弦信号0.20.40.60.81 1.2 1.4 1.61.8264点DFT 的幅频特性图Ω/π幅度00.20.40.60.81 1.2 1.4 1.6 1.8264点DFT 的相频特性图Ω/π相位%生成周期信号x=[1 1 1 1 1 0 0 0];%周期为8xn=x'*ones(1,5);%产生5个周期长度的序列 xn=xn(:); xn=xn';n=0:length(xn)-1;y=fft(xn,64);%计算xn 的64点DFT %以下为周期信号的绘图k=0:63;wk=2*k/64;%产生64点DFT 对应的采样点频率(关于\pi 归一化值) subplot(3,1,1);stem(n,xn,'.');xlabel('n');ylabel('xn2');title('周期信号');gridsubplot(3,1,2);stem(wk,abs(y),'.');%绘制64点DFT 的幅频特性图 title('64点DFT 的幅频特性图'); xlabel('\Omega/\pi');ylabel('幅度');subplot(3,1,3);stem(wk,angle(y),'.');%绘制64点DFT 的相频特性图 title('64点DFT 的相频特性图'); xlabel('\Omega/\pi');ylabel('相位');nx n 2周期信号0.20.40.60.81 1.2 1.4 1.61.8264点DFT 的幅频特性图Ω/π幅度00.20.40.60.81 1.2 1.4 1.6 1.8264点DFT 的相频特性图Ω/π相位%生成高斯随机信号xn3=randn(1,40);%产生序列长度为40均值为0方差为1的高斯随机序列 y=fft(xn3,64);%计算xn3的64点DFT %以下为高斯随机信号的绘图k=0:63;wk=2*k/64;%产生64点DFT 对应的采样点频率(关于\pi 归一化值) subplot(3,1,1);stem(xn3,'.');xlabel('n');ylabel('xn3');title('高斯随机信号');gridsubplot(3,1,2);stem(wk,abs(y),'.');%绘制64点DFT 的幅频特性图 title('64点DFT 的幅频特性图'); xlabel('\Omega/\pi');ylabel('幅度');subplot(3,1,3);stem(wk,angle(y),'.');%绘制64点DFT 的相频特性图 title('64点DFT 的相频特性图');xlabel('\Omega/\pi');ylabel('相位');0510152025303540-55nx n 3高斯随机信号0.20.40.60.81 1.2 1.4 1.61.8264点DFT 的幅频特性图Ω/π幅度00.20.40.60.81 1.2 1.4 1.6 1.8264点DFT 的相频特性图Ω/π相位2)时域混叠的分析以周期信号为例,一个周期信号为有限长序列(长度为8),截取10个周期。

相关主题