信号分析与处理MATLAB仿真程序
matlab软件仿真实验(信号与系统)(1)

matlab软件仿真实验(信号与系统)(1)《信号与系统实验报告》学院:信息科学与⼯程学院专业:物联⽹⼯程姓名:学号:⽬录实验⼀、MATLAB 基本应⽤实验⼆信号的时域表⽰实验三、连续信号卷积实验四、典型周期信号的频谱表⽰实验五、傅⽴叶变换性质研究实验六、抽样定理与信号恢复实验⼀MATLAB 基本应⽤⼀、实验⽬的:学习MATLAB的基本⽤法,了解 MATLAB 的⽬录结构和基本功能以及MATLAB在信号与系统中的应⽤。
⼆、实验内容:例⼀已知x的取值范围,画出y=sin(x)的图型。
x=0:0.05:4*pi;y=sin(x);plot(y)例⼆计算y=sin(π/5)+4cos(π/4)例三已知z 取值范围,x=sin(z);y=cos(z);画三维图形。
z=0:pi/50:10*pi;x=sin(z);y=cos(z);plot3(x,y,z)xlabel('x')ylabel('y')zlabel('z')例四已知x的取值范围,⽤subplot函数绘图。
参考程序:x=0:0.05:7;y1=sin(x);y2=1.5*cos(x);y3=sin(2*x);y4=5*cos(2*x);subplot(2,2,1),plot(x,y1),title('sin(x)')subplot(2,2,2),plot(x,y2),title('1.5*cos(x)')subplot(2,2,3),plot(x,y3),title('sin(2*x)')subplot(2,2,4),plot(x,y4),title('5*cos(2*x)')连续信号的MATLAB表⽰1、指数信号:指数信号Ae at在MATLAB中可⽤exp函数表⽰,其调⽤形式为:y=A*exp(a*t) (例取 A=1,a=-0.4)参考程序:A=1;a=-0.4;t=0:0.01:10;ft=A*exp(a*t);plot(t,ft);grid on;2、正弦信号:正弦信号Acos(w0t+?)和Asin(w0t+?)分别由函数cos和sin表⽰,其调⽤形式为:A*cos(w0t+phi) ;A*sin(w0t+phi) (例取A=1,w0=2π,?=π/6) 参考程序:A=1;w0=2*pi; phi=pi/6; t=0:0.001:8;ft=A*sin(w0*t+phi);plot(t,ft);grid on ;3、抽样函数:抽样函数Sa(t)在MATLAB中⽤sinc函数表⽰,其定义为:sinc(t)=sin(πt)/( πt)其调⽤形式为:y=sinc(t)参考程序:t=-3*pi:pi/100:3*pi;ft=sinc(t/pi);plot(t,ft);grid on;4、矩形脉冲信号:在MATLAB中⽤rectpuls函数来表⽰,其调⽤形式为:y=rectpuls(t,width),⽤以产⽣⼀个幅值为1,宽度为width,相对于t=0点左右对称的矩形波信号,该函数的横坐标范围由向量t决定,是以t=0为中⼼向左右各展开width/2的范围,width的默认值为1。
MATLAB信号处理仿真实验

MATLAB信号处理仿真实验1. 引言信号处理是一种广泛应用于各个领域的技术,它涉及到对信号的获取、处理和分析。
MATLAB是一种强大的数学软件,提供了丰富的信号处理工具箱,可以用于信号处理的仿真实验。
本文将介绍如何使用MATLAB进行信号处理仿真实验,并提供详细的步骤和示例。
2. 实验目的本实验旨在通过MATLAB软件进行信号处理仿真,以加深对信号处理原理和算法的理解,并掌握使用MATLAB进行信号处理的基本方法和技巧。
3. 实验步骤3.1 生成信号首先,我们需要生成一个待处理的信号。
可以使用MATLAB提供的信号生成函数,如sine、square和sawtooth等。
以生成一个正弦信号为例,可以使用以下代码:```MATLABfs = 1000; % 采样频率t = 0:1/fs:1; % 时间向量f = 10; % 信号频率x = sin(2*pi*f*t); % 生成正弦信号```3.2 添加噪声为了更真实地摹拟实际信号处理场景,我们可以向生成的信号中添加噪声。
可以使用MATLAB提供的随机噪声生成函数,如randn和awgn等。
以向生成的信号中添加高斯白噪声为例,可以使用以下代码:```MATLABSNR = 10; % 信噪比y = awgn(x, SNR); % 向信号中添加高斯白噪声```3.3 进行滤波处理滤波是信号处理中常用的一种技术,用于去除信号中的噪声或者提取感兴趣的频率成份。
可以使用MATLAB提供的滤波函数,如fir1和butter等。
以设计并应用一个低通滤波器为例,可以使用以下代码:```MATLABorder = 10; % 滤波器阶数cutoff = 0.1; % 截止频率b = fir1(order, cutoff); % 设计低通滤波器filtered_y = filter(b, 1, y); % 应用滤波器```3.4 进行频谱分析频谱分析是信号处理中常用的一种技术,用于分析信号的频率成份。
学习使用MATLAB进行信号处理和仿真

学习使用MATLAB进行信号处理和仿真信号处理是一门重要的学科,它在许多领域中发挥关键作用,包括通信、图像处理、生物医学工程等。
而MATLAB作为一个功能强大的编程软件,具备丰富的信号处理和仿真工具,因此被广泛应用于信号处理领域。
本文将重点介绍如何学习使用MATLAB进行信号处理和仿真。
一、MATLAB入门要使用MATLAB进行信号处理和仿真,首先需要对MATLAB有一定的了解。
MATLAB是一种高级计算机语言,可用于数值计算、可视化和编程。
首先,我们需要学习MATLAB的基本语法和特点,包括变量的定义和操作、矩阵运算、函数的定义和调用等。
其次,熟悉MATLAB的常用工具箱,如信号处理工具箱和控制系统工具箱,它们提供了丰富的函数和算法,方便进行信号处理和仿真。
二、信号的表示与分析在信号处理中,首先需要了解信号的表示与分析方法。
MATLAB提供了多种表示信号的方法,包括时域分析和频域分析。
时域分析是通过观察信号在时间上的变化来研究信号的性质,常用的时域分析方法有时域图形显示、自相关函数和互相关函数等。
频域分析则是将信号转换到频域进行分析,常用的频域分析方法有傅里叶变换和功率谱密度估计等。
学习使用MATLAB进行信号的时域和频域分析,可以更好地理解和处理信号。
三、滤波器设计与应用滤波器是信号处理中非常常见和重要的工具。
它可以通过选择性地通过或抑制特定频率的信号,对信号进行处理。
MATLAB提供了丰富的滤波器设计和应用函数,包括低通滤波器、高通滤波器、带通滤波器和带阻滤波器等。
我们可以利用MATLAB进行滤波器的设计、参数的调整和滤波器效果的评估等工作。
熟练掌握MATLAB中滤波器设计与应用的方法,对信号处理和仿真工作具有重要意义。
四、信号处理应用实例学习信号处理和仿真离不开实际应用实例的学习。
在这一章节中,将以几个具体的信号处理应用实例来展示MATLAB的具体使用。
比如,在通信领域中,我们可以利用MATLAB进行信号调制、解调和信道编码等工作。
离散时间信号处理与matlab仿真 概述及解释说明

离散时间信号处理与matlab仿真概述及解释说明1. 引言1.1 概述离散时间信号处理是指对离散时间信号进行分析、处理和转换的过程。
离散时间信号处理在许多领域中都起着重要作用,例如通信系统、音频处理、图像处理等。
通过对离散时间信号进行采样和量化,我们可以将连续时间信号转换为离散时间信号,并对其进行数字化处理。
随着计算机技术的发展,MATLAB成为了一种强大的工具,被广泛应用于离散时间信号处理。
MATLAB提供了丰富的函数和工具箱以及易于使用的界面,使离散时间信号处理变得更加简单和高效。
1.2 文章结构本文将按以下结构来介绍离散时间信号处理与MATLAB仿真:- 第2部分: 离散时间信号处理概述。
在这一部分中,我们将介绍信号和系统的基础知识,并比较离散时间信号与连续时间信号之间的差异。
此外,我们还将探讨离散时间信号处理在各个应用领域中的应用案例。
- 第3部分: MATLAB在离散时间信号处理中的应用。
这一部分将重点介绍MATLAB工具箱的使用方法,并提供离散时间信号处理算法在MATLAB中的实现方式。
同时,我们将通过一些具体案例来演示MATLAB在离散时间信号处理中的应用。
- 第4部分: 离散时间信号处理的常见问题和挑战。
在这部分中,我们将探讨采样频率选择与混叠效应、数字滤波器设计与优化原理以及非线性失真和量化误差分析等离散时间信号处理中常见的问题和挑战。
- 最后,我们将在第5部分总结本文,并对离散时间信号处理与MATLAB仿真的重要性进行回顾和总结,同时展望未来离散时间信号处理方法研究的发展方向。
1.3 目的本文目的是为读者提供一个全面且详细的概述,使其了解离散时间信号处理以及MATLAB仿真在该领域中的应用。
希望通过阅读本文,读者能够加深对离散时间信号处理基础知识的理解,并掌握使用MATLAB进行仿真和实现离散时间信号处理算法的方法。
此外,本文还旨在引起读者对离散时间信号处理领域中常见问题和挑战的关注,并对相关研究方向进行思考。
MATLAB信号处理仿真实验

3 信号处理仿真实验(教师)3.1 MATLAB信号处理基础实验一、实验目的1.掌握MATLAB常用信号处理波形;2.学习信号序列的各种操作;3.学习离散傅立叶变换的MATALB相关操作。
二、实验内容1.产生下列各种波形,并记录结果。
(1)单位抽样序列x=[1 zeros(1,n-1)]>> n=7;>> x=[1 zeros(1,n-1)]x =1 0 0 0 0 0 0(2)单位阶跃矩阵x=ones(1,N)>> N=6;>> x=ones(1,N)x =1 1 1 1 1 1(3)实指数序列n=0:N-1;x=a.^n;>> a=6;>> N=6;>> n=0:N-1;>> x=a.^nx =1 6 36 216 1296 7776(4)复指数序列n=0:N-1;x=ex((lu+j*w0)*n);>> N=6;lu=3;w0=40;n=0:N-1;x=exp((lu+j*w0)*n)x =1.0e+006 *0.0000 -0.0000 + 0.0000i -0.0000 - 0.0004i0.0066 + 0.0047i -0.1588 + 0.0357i 1.5926 - 2.8548i(5)随机序列rand(1,N);randn(1,N);>> N=6;>> rand(1,N)ans =0.4565 0.0185 0.8214 0.4447 0.6154 0.7919 >> randn(1,N)ans =1.1892 -0.0376 0.3273 0.1746 -0.1867 0.7258 (6)方波t=0:0.1*pi:6*pi;y=square(t);axis([0 7*pi -1.5 1.5]);plot(t,y);xlabel('时间');ylabel('幅值');(7)正弦波t=0:0.01*pi:2*pi;x=sin(2*pi*t);plot(t,x);xlabel('时间');ylabel('幅值');(8)锯齿波Fs=10000;t=0:1/Fs:1.5;x=sawtooth(2*pi*50*t);plot(t,x);axis([0 0.2 -1 1]);(9)基本非周期波形t=0:1/1000:2;x=chirp(t,0,1,150);specgram(x,256,1000,256,250);(10)sinc信号t=linspace(-5,5);x=sinc(t);plot(t,x);(11)pulstran信号t=0:1/50E3:10E-3;d=[0:1/1E3:10E-3;0.8.^(0:10)]';x=pulstran(t,d,'gauspuls',10E3,0.5);plot(t,x);(12)diric信号t=[-4*pi:0.1/pi:4*pi];x=diric(t,7);y=diric(t,8);subplot(1,2,1);title('n为奇数');plot(t,x);subplot(1,2,2);plot(t,y);title('n为偶数');2.有两信号分别为)2sin(11t x πω=,)2sin(222t x πω=,其中Hz501=ω,Hz1202=ω,编程实现此二信号的叠加,并计算它的抽样和、抽样积、信号能量和信号功率。
MATLAB仿真与信号处理实践指导

MATLAB仿真与信号处理实践指导第一章:MATLAB仿真基础MATLAB是一种功能强大的数学软件,广泛应用于科学与工程领域的仿真和信号处理任务。
本章将向读者介绍MATLAB的基本概念和使用方法,帮助读者快速入门。
1.1 MATLAB简介MATLAB是由MathWorks公司开发的一种高级技术计算语言和环境。
它集成了数值计算、可视化和编程功能,可用于进行数据分析、仿真、建模、图像处理等多种任务。
1.2 MATLAB界面MATLAB的主要界面由命令窗口、脚本编辑器和变量浏览器组成。
命令窗口可以直接输入MATLAB命令,脚本编辑器用于编写和运行MATLAB脚本,变量浏览器可以查看和管理当前工作空间中的变量。
1.3 基本数据类型MATLAB支持多种基本数据类型,如数值、字符和逻辑类型。
数值类型包括整数、浮点数和复数。
字符类型用于表示文本数据,逻辑类型用于表示真假值。
1.4 基本操作MATLAB提供了丰富的数学和矩阵操作函数,如加法、乘法、求逆、求特征值等。
同时,MATLAB还支持向量化操作,可一次对整个矩阵或向量进行计算,提高运算效率。
第二章:MATLAB仿真实践本章将介绍MATLAB在仿真领域的应用,包括利用MATLAB进行线性系统仿真、非线性系统仿真和电路仿真等方面的实践。
2.1 线性系统仿真MATLAB提供了强大的线性系统仿真工具,如系统传输函数建模、频域分析、时域响应等。
通过MATLAB,可以对各种线性系统进行仿真和分析,如低通滤波器、控制系统等。
2.2 非线性系统仿真与线性系统仿真相比,非线性系统仿真更加复杂。
MATLAB提供了多种工具箱,如Simulink和Simscape,用于建立和仿真非线性系统模型。
通过这些工具,可以更加准确地模拟和预测非线性系统的行为。
2.3 电路仿真MATLAB还提供了用于电路仿真的工具,如Circuit Design Toolbox和Simscape Electronics。
信号分析与处理MATLAB仿真实验报告

信号分析与处理MATLAB仿真实验报告2009.12.25院系:电气工程学院专业: 自动化班级:姓名:学号:实验7 离散时间序列的卷积实验目的:学会用MATLAB实现对离散时间序列的卷积,掌握利用h(n) 与输入x(n)卷积来求系统零状态响应的方法。
实验要求:使用MATLAB中求卷积函数的conv(),并对结果分析总结。
实验内容:LTI系统的单位脉冲响应为h(n)=(0.9)n ε(n),输入序列为x(n)=ε(n)- ε(n-10),求系统的输出y(n)。
程序function [y,ny]=conv_m(x,nx,h,nh);y=conv(x(5:45),h);ny=nh;y=y(1:41);subplot(3,1,1);stem(nx,x,'filled');axis([-4,40,0,1]);title('x[n]');subplot(3,1,2);stem(nh,h,'filled');axis([-4,40,0,1]);title('h[n]');subplot(3,1,3);stem(ny,y,'filled');axis([-4,40,0,8]);title('y[n]');实验结果:结果分析:改变参数以后的程序:function [y,ny]=conv_m(x,nx,h,nh);y=conv(x(5:45),h);ny=nh;y=y(1:41);subplot(3,1,1);stem(nx,x,'filled');axis([-4,40,0,1]);title('x[n]'); subplot(3,1,2);stem(nh,h,'filled');axis([-4,40,0,1]);title('h[n]'); subplot(3,1,3);stem(ny,y,'filled');axis([-4,40,0,2]);title('y[n]');输出结果:实验8 连续时间信号的卷积实验目的:学会用MATLAB实现对连续时间信号的卷积,掌握利用卷积的方法求系统零状态响应,并与离散系统比较。
数字信号处理实验利用MATLAB进行信号分析

实验2 利用MATLAB 进行信号分析实验目的:学习用MATLAB 编程进行信号分析实验内容:1、 数字滤波器的频率响应:数字滤波器的系统函数为:H(z)=21214.013.02.0----++++z z z z ,求其幅频特性和相频特性:2、离散系统零极点图:b =[0.2 0.1 0.3 0.1 0.2]; a=[1.0 -1.1 1.5 -0.7 0.3]; 画出其零极点图3、数字滤波器的冲激响应: b=[0.2 0.1 0.3 0.1 0.2];a=[1.0 -1.1 1.5 -0.7 0.3]; 求滤波器的冲激响应。
4、 计算离散卷积:x=[1 1 1 1 0 0]; y=[2 2 3 4]; 求x(n)*y(n)。
5、 计算离散信号的能量和功率:序列的能量:E=∑∞=02)(n n x =∑∞=0)(*)(n n x n x序列的功率:P=N1∑-=102)(N n n x =N1∑∞=0)(*)(n n x n xx(n)=0.8nu(n),计算前10点的能量占总能量的百分比。
6、 求逆Z 变换:求X(z)=)9.01()9.01(121z z +-- z ﹥0.9的逆Z 变换。
实验要求:打印出程序、图形及运行结果,并分析实验结果。
利用MATLAB 进行信号分析● 数字滤波器的频率响应:例:对一数字滤波器H(z)=21214.013.02.0----++++zz z z ,求其幅频特性和相频特性: a=[1 0.4 1]; b=[0.2 0.3 1]; freqz(b,a,128)● 离散系统零极点图:b =[0.2 0.1 0.3 0.1 0.2]; a=[1.0 -1.1 1.5 -0.7 0.3]; zplane(b,a)● 数字滤波器的冲激响应: b=[0.2 0.1 0.3 0.1 0.2];a=[1.0 -1.1 1.5 -0.7 0.3]; impz(b,a,50)● 计算离散卷积:x=[1 1 1 1 0 0]; y=[2 2 3 4]; z=conv(x,y);stem(0:length(x)+length(y)-2,z)● 计算离散信号的能量和功率:序列的能量:E=∑∞=02)(n n x = ∑∞=0)(*)(n n x n x序列的功率:P=N1∑-=12)(N n n x =N1∑∞=0)(*)(n n x n x例:x(n)=0.8n u(n),计算前10点的能量占总能量的百分比。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一正弦信号w=pi/6;ns1=0;nf1=48;n1=[ns1:nf1];x1=sin(w*n1);subplot(1,1,1);stem(n1,x1);axis([0,50,-1.2,1.2]);xlabel('n');ylabel('x');title('正弦信号');grid on;二周期信号x=[1 1 0 -1 -1 1 0 0];xn1=x'*ones(1,8);xn1=xn1(:);xn1=xn1';n1=0:length(xn1)-1;subplot(1,1,1);stem(n1,xn1);axis([0,42,-1.5,1.5]);xlabel('n');ylabel('xn');title('周期信号');grid on;三高斯随机信号n1=30;xn1=randn(1,n1);subplot(1,1,1);stem(xn1);axis([0,32,-4,4]);xlabel('n');ylabel('xn');title('高斯随机信号'); grid on;四正选信号求特征值:>> clearw=pi/6;ns1=0;nf1=48;>> n1=[ns1:nf1];>> xn1=sin(w*n1);>> x=mean(xn1);>> y=var(xn1);>> xx =-1.0931e-017>> yy =0.5000五周期信号特征值计算:>> clear>> x=[1 1 0 -1 -1 1 0 0];xn1=x'*ones(1,8);xn1=xn1(:);xn1=xn1';n1=0:length(xn1)-1;>> u=mean(xn1);>> v=var(xn1);>> uu =0.1250>> vv =0.6190六高斯随机信号特征值计算:>> clear>> n1=30;xn1=randn(1,n1);>> m=mean(xn1);>> v=var(xn1);>> mm =-0.1349>> vv =1.3187七信号运算w=pi/6;ns1=0;nf1=48;n1=[ns1:nf1];xn1=sin(w*n1);x=[1 1 0 -1 -1 1 0 0];xn2=x'*ones(1,8);xn2=xn2(:);xn2=xn2';ns2=0;nf2=length(xn2)-1;n2=0:nf2;ny=0:max(nf1,nf2);y1=zeros(1,length(ny));y2=y1;y1(find(ny<=nf1))=xn1;y2(find(ny<=nf2))=xn2;ya=y1+y2;ys=y1-y2;subplot(3,2,1);stem(n1,xn1);xlabel('n');ylabel('xn');title('正弦信号');grid on;subplot(3,2,2);stem(ny,y1);xlabel('n');ylabel('xn');title('修正后的正弦信号');grid on; subplot(3,2,3);stem(n2,xn2);xlabel('n');ylabel('xn');title('周期信号');grid on;subplot(3,2,4);stem(ny,y2);xlabel('n');ylabel('xn');title('修正后的周期信号');grid on;subplot(3,2,5);stem(ny,ya);xlabel('n');ylabel('xn');title('序列相加');grid on;subplot(3,2,6);stem(ny,ys);xlabel('n');ylabel('xn');title('序列相减');grid on;八正弦信号的傅里叶分析w=pi/6;ns1=0;nf1=48;n1=[ns1:nf1];x1=sin(w*n1);xk=fft(x1,96);k=0:95;wk=3*k/95;subplot(3,1,1);stem(n1,x1);xlabel('n');ylabel('xn');title('正弦信号');grid on;subplot(3,1,2);stem(wk,abs(xk));xlabel('\w/\pi');ylabel('幅度');title('96点的幅频特性图');grid on; subplot(3,1,3);stem(wk,angle(xk));xlabel('\w/\pi');ylabel('相位');title('96点的相频特性图');grid on;九周期信号的傅里叶分析x=[1 1 0 -1 -1 1 0 0];xn1=x'*ones(1,8);xn1=xn1(:);xn1=xn1';n1=0:length(xn1)-1;xk=fft(xn1,100);k=0:99;wk=2*k/100;subplot(3,1,1);stem(n1,xn1);xlabel('n');ylabel('xn');title('周期信号');grid on;subplot(3,1,2);stem(wk,abs(xk));xlabel('\w\pi');ylabel('幅度');title('100点的幅频特性图');grid on; subplot(3,1,3);stem(wk,angle(xk));xlabel('\w\pi');ylabel('相位');title('100点的相频特性图');grid on;十频谱混叠w=pi/5;ns=0;nf=40;n=[ns:nf];xn=10*sin(w*n);xk=fft(xn,160);xn1=ifft(xk,160);xk1=xk(1:2:160);xn2=ifft(xk1,160);k=0:159;wk=2*k/160;subplot(4,1,1);stem(n,xn);xlabel('n');ylabel('xn');title('正弦信号');grid on;subplot(4,1,2);stem(wk,abs(xk));xlabel('\w/\pi');ylabel('幅度');title('160点的dft幅频特性图');grid on;subplot(4,1,3);stem(0:length(xn1)-1,xn1);xlabel('n');ylabel('xn');title('抽取160点的dft还原信号');grid on;subplot(4,1,4);stem(0:length(xn2)-1,xn2);xlabel('n');ylabel('xn');title('抽取80点的dft还原信号');grid on;十一泄露分析w=pi/5;for i=1:2if i==1ns=0;nf=40;else ns=0;nf=160;endn=[ns:nf];xn=10*sin(n*w);figure(i)xk=fft(xn,160);k=0:159;wk=2*k/160;subplot(2,1,1);stem(n,xn);xlabel('n');ylabel('xn');title('正弦信号');grid on;subplot(2,1,2);stem(wk,abs(xk));xlabel('\w/\pi');ylabel('幅度');title('160点的dft幅频特性图');grid on;end十二整周期截取分析w=pi/5;ns=0;nf=40;n=[ns:nf];xn=10*sin(n*w);xk=fft(xn,80);xn1=n(1:35);xk1=fft(xn1,80);k=0:79;wk=2*k/180;subplot(4,1,1);stem(n,xn);xlabel('n');ylabel('xn');title(' 整周期截取的正弦信号');grid on;subplot(4,1,2);stem(wk,abs(xk));xlabel('\w/\pi');ylabel('幅度');title('整周期截取的80点dft的幅频特性图');grid on; subplot(4,1,3);stem(0:length(xn1)-1,xn1);xlabel('n');ylabel('xn');title('非整周期截取的正弦信号');grid on;subplot(4,1,4);stem(wk,abs(xk));xlabel('\w/\pi');ylabel('幅度');title('非整周期截取的80点的dft幅频特性图');grid on;十三,频率分辨率w=pi/5;for i=1:3if i==1ns=0;nf=20;else if i==2ns=0;nf=40;else ns=0;nf=80;endendn=[ns:nf];y1=10*sin(w*n);y2=5*sin(0.25*w*n); y3=y1+y2;xk=fft(y3,80);k=0:79;wk=2*k/80;subplot(3,1,1);stem(wk,abs(xk));xlabel('\w/\pi');ylabel('幅度');title('n=20 80点的dft幅频特性图');grid on;subplot(3,1,2);stem(wk,abs(xk));xlabel('\w/\pi');ylabel('幅度 ');title('n=40 80点的dft幅频特性图');grid on;subplot(3,1,3);stem(wk,abs(xk));xlabel('\w/\pi');ylabel('幅度');title('n=80 80点的dft幅频特性图');grid on;end十五IIR滤波器clearwp=input('请输入通带截止频率wp=');ws=input('请输入阻带截止频率ws=');rp=input('请输入通带最大衰减rp=');rs=input('请输入阻带最大衰减rs=');fs=1000;[N,wn]=cheb1ord(wp,ws,rp,rs,'s');[z,p,k]=cheb1ap(N,rp);[b,a]=zp2tf(z,p,k);[bt,at]=lp2lp(b,a,wn);[bz,az]=impinvar(bt,at,fs); [h,f]=freqz(bz,az,512,fs); hdb=20*log10(abs(h));subplot(2,1,1);plot(f,abs(h));xlabel('f/HZ');ylabel('幅度/dB');subplot(2,1,2);plot(f,hdb);xlabel('f/HZ');ylabel('幅度/dB');x=0:0.2:60;xn1=10*sin(pi*x/10);figure(2);subplot(2,2,1);plot(x,xn1);grid on;xlabel('x');ylabel('y');title('正弦信号');xn2=randn(1,length(x));subplot(2,2,2);plot(x,xn2);grid on;xlabel('x');ylabel('y');title('高斯随机信号');xn3=xn1+xn2;subplot(2,2,3);plot(x,xn3);xlabel('x');ylabel('y');title('滤波前的信号');grid on;xn=filter(bz,az,xn3);subplot(2,2,4);plot(x,xn);grid on; xlabel('x');ylabel('y');title('滤波后的信号');十六,FIRclearwp=input('请输入通带截止频率wp=');ws=input('请输入阻带截止频率ws=');rp=input('请输入通带衰减rp=');rs=input('请输入阻带衰减rs=');tr_width=ws-wp;N=ceil(6.6*pi/tr_width)+1;n=0:1:N-1;wc=(wp+ws)/2;alpha=(N-1)/2;m=n-alpha+eps;hd=sin(wc*m)./(pi*m);w_ham=(hamming(N))';h=hd.*w_ham;[H,w]=freqz(h,[1]);db=20*log10(abs(H));subplot(2,1,1);plot(w/pi,abs(H));title('幅度');xlabel('w/pi');axis([0,1.2,0,1.3]);subplot(2,1,2);plot(w/pi,db);title('幅度');xlabel('w/pi');axis([0,1.2,-100,10]);x=0:0.2:40;xn1=10*sin(pi*x/10);figure(2);subplot(2,2,1);plot(x,xn1);grid on;xlabel('x');ylabel('y');title('正弦信号');xn2=randn(1,length(x));subplot(2,2,2);plot(x,xn2);grid on;xlabel('x');ylabel('y');title('高斯随机信号');xn3=xn1+xn2;subplot(2,2,3);plot(x,xn3);xlabel('x');ylabel('y');title('滤波前的信号');grid on; xn=filter(h,1,xn3);subplot(2,2,4);plot(x,xn);grid on; xlabel('x');ylabel('y');title('滤波后的信号');。