信号matlab仿真实验复习

合集下载

简单的matlab信号仿真

简单的matlab信号仿真

实验1 连续时间信号和离散信号的实现实验内容与方法一、验证性试验1、生成直流信号f(t)=6MA TLAB程序代码:t = -10:0.01:10;a1 = 6;subplot(3,3,1)plot(t,a1,'b');title('直流信号');xlabel('时间(t)');ylabel('幅值(f)')2、生成正弦交流信号f(t)=sin(wt+φ)MA TLAB程序代码:t = 0:0.01:1;f = sym('sin(2*pi*t)');subplot(3,3,2)ezplot(f,[0,1]);title('正弦交流信号');xlabel('时间(t)');ylabel('幅值(f)')3、生成单位阶跃信号f(t)=ε(t)MA TLAB程序代码:t0=0;t1=-1;t2=3;dt=0.01;t=t1:dt:-t0;n=length(t);t3=-t0:dt:t2;n3=length(t3);u=zeros(1,n);u3=ones(1,n3);subplot(3,3,3)plot(t,u);hold on;plot(t3,u3);plot([-t0,-t0],[0,1]);hold off;axis([t1,t2,-0.2,1.5]);xlabel('时间(t)');ylabel('幅值(f)');title('单位阶跃信号')4、生成单位冲激信号f(t)=δ(t)MA TLAB程序代码:t0=0;t1=-1;t2=5;dt=0.1;t=t1:dt:t2;n=length(t);x=zeros(1,n);x(1,(t0-t1)/dt+1)=1/dt;subplot(3,3,4)stairs(t,x);axis([t1,t2,0,1/dt]);xlabel('时间(t)');ylabel('幅值(f)');title('单位冲激信号')5、生成周期方波信号MA TLAB程序代码:t=(0:0.0001:1);y=square(2*pi*15*t);subplot(3,3,5)plot(t,y);axis([0,1,-1.5,1.5]);xlabel('时间(t)');ylabel('幅值(f)');title('周期方波信号')6、生成三角波信号MA TLAB程序代码:t=(-3:0.0001:5);y=tripuls(t,4,0.5);subplot(3,3,6)plot(t,y);xlabel('时间(t)');ylabel('幅值(f)');title('三角波信号')7、生成正弦序列信号MA TLAB程序代码:k1=-20;k2=20;k=k1:k2;f=sin(k*pi/6);subplot(3,3,7)stem(k,f,'filled');xlabel('时间(t)');ylabel('幅值(f)');title('正弦序列')8、生成单位斜波序列信号MA TLAB程序代码:k1=-20;k2=20;k0=0;n=[k1:k2];if k0>=k2x=zeros(1,length(n));elseif (k0<k2)&(k0>k1)x=[zeros(1,k0-k1),[0:k2-k0]];elsex=(k1-k0)+[0:k2-k1];endsubplot(3,3,8)stem(n,x);xlabel('时间(t)');ylabel('幅值(f)');title('单位斜波序列')9、生成幅值调制序列信号MA TLAB程序代码:n=0:100;m=0.4;fH=0.1;fL=0.01;xH=sin(2*pi*fH*n);xL=sin(2*pi*fL*n);y=(1+m*xL).*xH;subplot(3,3,9)stem(n,y);grid;xlabel('时间(k)');ylabel('幅值f(k)');title('幅值调制序列')10、生成复指数信号y(t)=e^(-at+bjt)MA TLAB程序代码:t=0:0.01:3;a=-3;b=4;z=exp((a+i*b)*t);subplot(2,2,1);plot(t,real(z)),title('实部'):xlabel('时间(t)');ylabel('幅值(f)'); subplot(2,2,2);plot(t,imag(z)),title('虚部'):xlabel('时间(t)');ylabel('幅值'); subplot(2,2,3);plot(t,abs(z)),title('模'):xlabel('时间(t)');ylabel('幅值'); subplot(2,2,4);plot(t,real(z)),title('相角'):xlabel('时间(t)');ylabel('幅值')二、程序设计实验①a=3;x=-10:0.01:10;y=(1-2*abs(x))/a;subplot(3,3,1)plot(x,y,'b')axis([-12,12,-10,5]);xlabel('x');ylabel('y');title('(1-2*abs(x))/a')②t = 0:0.01:6*pi;f = sym('cos(3*t)+sin(2*t)');subplot(3,3,2)ezplot(f,[0,6*pi]);title('信号');xlabel('时间(t)');ylabel('幅值(f)')③t0=-5;t1=-10;t2=5;dt=0.01;t=t1:dt:t0;n=length(t);t3=t0:dt:t2;n3=length(t3);u=zeros(1,n);u3=ones(1,n3);subplot(3,3,3)plot(t,u);hold on;plot(t3,u3);plot([t0,t0],[0,1]);hold off;axis([t1,t2,-0.2,1.2]);xlabel('时间(t)');ylabel('幅值(f)');title('u(t+5)')④k1=-20;k2=20;k=k1:k2;f=cos(5*k)+sin(4*k);subplot(3,3,7)stem(k,f,'filled');xlabel('时间(k)');ylabel('幅值f(k)');title('信号4')⑤x=0:0.01:3;z=5*exp(-x);subplot(2,2,1);plot(x,real(z)),title('信号5'):xlabel('时间(x)');ylabel('幅值(f)')⑥k0=0;k1=-1;k2=10;dk=1;k=k1:dk:k2;n=length(k);x=zeros(1,n);x(1,(k0-k1)/dk+1)=1/dk;subplot(3,3,4)stairs(k+5,x);axis([k1,k2,0,1/dk]);xlabel('时间(k)');ylabel('幅值(f)');title('信号6')⑦t0=-5;t1=-6;t2=0;t=t1:t0-1;n=length(t);t3=t0:t2;n3=length(t3);u=zeros(1,n);u3=ones(1,n3);subplot(3,3,7)stem(t,u,'filled');hold on;stem(t3,u3,'filled');hold off;axis([t1,t2,-0.2,1.5]);xlabel('时间(t)');ylabel('幅值(f)');title('信号7');。

信号与系统MATLAB仿真题目参考答案

信号与系统MATLAB仿真题目参考答案

参考答案1.解当2T τ=时,111411()[sin()sin(3)sin(5)]35f t t t t ωωωπ=+++ (1)1210,2100T s kHz Tπμωπ===⨯ 00100,2100f kHz kHz ωπ==⨯基波分量幅值4() 1.27n i t A μπ=≈2() 1.27100127t mA k V υ=⨯Ω=(2)1220,250T s kHz Tπμωπ===⨯ 00100,2100f kHz kHz ωπ==⨯ 1()i t 中不包含0f ,所以2()0t υ=(3)110215,30,233,32100,2100T s T s kHz kHz kHz Tπμμωπωπωπ====⨯≈⨯=⨯ 1334()0.424,()0.42410042.43i t mA t mA k V υπ===⨯Ω= 2.解(1) [()](),(1)[(1)]DFT x n X k x N n x n N -=---=--+1[()][(1)]{[(1)]}DFT x n DFT x N n DFT x n N -=--=--+22(1)()()jN k jk NNX k ex k eππ-+=-=-(2)()/22()1()()nN n N x n x n x n W ⋅=-=,/22[()][()]2N n N N DFT x n DFT x n W X k ⋅⎛⎫==+ ⎪⎝⎭(3) 1213220[()]()()N N nknk NNn n NDFT x n x n Wx n N W--===+-∑∑1122200()()N N nk Nk nk NNNn n x n WWx n W--===+∑∑11/2/20()(1)N N nk knk nNn n x n WW--===+-∑∑2(/2)[1(1)]20k X k k k X k ⎧⎛⎫=+-=⎨⎪⎝⎭⎩为偶数为奇数(4) /214/2[()][()(/2)]N nk N n DFT x n x n x n N W-==++∑112(/2)/2/2/2()()N N nk n N kN N n n N x n Wx n W ---===+∑∑112/200()()(2)N N nknk N N n n x n Wx n W X k --⋅=====∑∑ (5) 2111/25220[()]()()()()2N N N nk nk nk s NNN n n n k DFT x n x n Wx n Wx n W X ---=======∑∑∑(6)DFT 216620[()]()N nk N n x n x n W -==∑216202N nk N n n n xW -=⎛⎫=⎪⎝⎭∑为偶21260()()2N N k k n n x W X k -===∑(7) 1/21277/2/20[()]()(2)N N nk nkN N n n DFT x n x n Wx n W --====∑∑,令2,2mn m n ==1127/200[()]()()m N N k mk N Nm m m m DFT x n x m Wx m W--====∑∑为偶为偶101[()(1)()]2N m mkNm x m x m W -==+-∑110011()(1)()22N N mk m mkN Nm m x m W x m W --===+-∑∑ 1[()()]22N x k x k =++3.解 210()c o s ()2f t f t t τω⎛⎫=- ⎪⎝⎭由频域卷积定理,有{}221()()2f t F ωπ==12f t τ⎧⎫⎛⎫-*⎨⎬ ⎪⎝⎭⎩⎭{}0cos()t ω由于 21()24E F Sa τωτω⎛⎫= ⎪⎝⎭由时移性质可得221224j E f t Sa eωτττωτ-⎧⎫⎛⎫⎛⎫-=⎨⎬ ⎪ ⎪⎝⎭⎝⎭⎩⎭ 而{}[]000cos()()()t ωπδωωδωω=++-所以0000()()22002222200222()()()444()()444j j j j j E F Sa e Sa e E e Sa e Sa e ωωτωωτωτωτωτωωτωωττωωωτωωττ+-----⎧⎫+-⎡⎤⎡⎤=+⎨⎬⎢⎥⎢⎥⎣⎦⎣⎦⎩⎭⎧⎫+-⎪⎪⎡⎤⎡⎤=+⎨⎬⎢⎥⎢⎥⎣⎦⎣⎦⎪⎪⎩⎭4.解 由题图可知,()f t 为偶函数,因而240240112()cos n T TT T b E a f t dt E t dt T T T ππ--=⎛⎫===⎪⎝⎭⎰⎰212410402()cos()4222cos cos ,222cos (1)cos (1)TT n T T a f t n dtT E t n t dt T T T T E n t n t dt T T T ωπππωππ-=⎛⎫⎛⎫=⋅= ⎪ ⎪⎝⎭⎝⎭⎧⎫⎡⎤⎡⎤=++-⎨⎬⎢⎥⎢⎥⎣⎦⎣⎦⎩⎭⎰⎰⎰211sin sin 2211,120,3,5,1,2cos ,2,4,6,(1)2n n E n n E n n E n n n πππππ⎡+-⎤⎛⎫⎛⎫ ⎪ ⎪⎢⎥⎝⎭⎝⎭⎢⎥=++-⎢⎥⎢⎥⎣⎦⎧=⎪⎪⎪==⋅⋅⋅⎨⎪⎪=⋅⋅⋅-⎪⎩从而11111111112222()cos()cos(2)cos(4)cos(6)(8)231535634442cos()cos(2)cos(4)cos(6),231535EE E E E Ef t t t t t t E E t t t t T ωωωωωππππππωωωωωππππ=++-+-+⋅⋅⋅⎡⎤=++-++⋅⋅⋅=⎢⎥⎣⎦若E=10V ,f=10kHz ,则幅度谱如下图所示。

《信号与系统》matlab仿真实验

《信号与系统》matlab仿真实验

《信号与系统》matlab仿真实验综合实验一《信号与系统》的MATLAB仿真实验一.实验目的1.熟悉MA TLAB软件平台、工具箱、高效的数值计算及符号计算功能。

2.熟悉MATLAB软件的信号处理编程方法和结果的可视化3.了解数字信号处理的计算机仿真方法4.进一步加深对信号与系统的基本原理、方法及应用的理解。

二.实验软件MATLAB 6.5 界面三.实验内容1.基本信号的表示及可视化2.连续信号的时域运算与时域变换3.线性系统的时域分析及Matlab实现4.连续时间信号的频域分析及Matlab实现四.实验原理方法及相关MATLAB函数1.基本信号的表示及可视化1.1 连续时间信号(1)表示出连续信号f(t)=Sa(t)=sin(t)/tMatlab命令如下:t=-10:1.5:10;%向量t时间范围t=t1:p:t2,p为时间间隔f=sin(t)./t;plot(t,f); %显示该信号的时域波形title(‘f(t)=Sa(t)’);xlabel(‘t’)axis([-10,10,-0.4,1.1])注:改变p可使信号波形更平滑,同学们可以试一试。

(2)单位阶跃信号定义阶跃函数function f=Heaviside(t)f=(t>0)调用阶跃函数t=-1:0.01:3;f=Heaviside(t)plot(t,f);axis([-1,3,-0.2,1.2]);(2)单位冲击信号 (t)定义冲击函数functionchongji(t1,t2,t0)dt=0.01;t=t1:dt:t2;n=length(t);x=zeros(1,n);x(1,(-t0-t1)/dt+1)=1/dt;stairs(t,x);axis([t1,t2,0,1.2/dt])title('单位冲击信号δ(t)')调用的是chongji(-1,5,0);可以试着给别的t1,t2,t0.1.2离散时间信号(1)单位阶跃序列ε(k)定义阶跃序列function jyxulie(k1,k2,k0)k=k1:-k0-1;kk=-k0:k2;n=length(k);nn=length(kk);u=zeros(1,n); %k0前信号赋值为零uu=ones(1,nn);%k0后信号赋值为一stem(kk,uu,’filled’)hold onstem(k,u,’filled’)holdofftitle(‘单位阶跃序列’)axis([k1 k20 1.5])调用阶跃序列函数jyxulie(-2,6,0)(3)单位序列δ(k)定义单位序列函数functiondwxulie(k1,k2,k0)k=k1:k2;n=length(k);f=zeros(1,n);f(1,-k0-k1+1)=1;stem(k,f,’filled’)axis([k1,k2,0,1.5])title(‘单位序列δ(k)’)调用单位序列函数dwxulie(-3,5,0)2.连续信号的时域运算与时域变换运算、变换的符号运算方法:相加、相乘、移位、反折、尺度变换、倒相已知信号)]2()2([)21()(--+⨯+=ttttfεε,用matlab求f(t+2),f(t-2),f(-t),f(2t),-f(t),并绘出时域波形。

MATLAB信号处理仿真实验

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仿真复习课
和 [num,den]=series(num1,den1,num2,den2)
第3章 控制系统的数学模型
2)并联连接
在 MATLAB 的控制系统工具箱中提供了系统的并联 连接处理函数parallel( ),该函数的调用格式为 [A , B ,C ,D]=parallel(A1, B1, C1, D1, A2, B2, C2, D2) 和 [num,den]=parallel(num1,den1,num2,den2) 其中前一式用来处理由 u1 y1 状态方程表示的系统,后 1 一式仅用来处理由传递函 u y 数阵表示的单输入多输出 u2 y2 2 系统。

u u1
1
y1
u2
2
y2
y
在MATLAB的控制系统工具箱中提供了系统的串联连接 处理函数series( ),它既可处理由状态方程表示的系统,
也可处理由传递函数阵表示的单输入多输出系统,其调
用格式为
[A , B ,C ,D]=series(A1, B1, C1, D1, A2, B2, C2, D2)
(2) 调节时间(settingtime)
C=dcgain(G)
i=length(t)
while (y(i)>0.98*C)&(y(i)<1.02*C)
第1章 计算机辅助设计与仿真技术概述
(3)仿真模型(描述模型) 指根据系统的数学模型,用仿真语言转化为 计算机可以实施的模型。 1.1.4 计算机仿真的三要素及基本步骤(内容) 1)三要素 (1)系统:研究的对象 (2)模型:系统的抽象 (3)计算机:工具与手段
第1章 计算机辅助设计与仿真技术概述 2.3.2 变量和数值显示格式

matlab数字信号部分上机实验解读

matlab数字信号部分上机实验解读
0
0n3 4n7 other
x6 (n) cos8t cos16t cos 20t
(2) 令x(n)=x4(n)+x5(n), 用FFT计算 8 点和 16 点离散傅里 叶变换,
X(k)=DFT[x(n)] (3) 令x(n)=x4(n)+jx5(n), 重复(2)。
4. 思考题 (1) 在N=8时, x2(n)和x3(n)的幅频特性会相同吗? 为 什么? N=16呢? (2) 如果周期信号的周期预先不知道, 如何用FFT进 行谱分析? 5. 实验报告要求 (1) 简述实验原理及目的。 (2) 结合实验中所得给定典型序列幅频特性曲线, 与理论结果比较, 并分析说明误差产生的原因以及用 FFT作谱分析时有关参数的选择方法。 (3) 总结实验所得主要结论。 (4) 简要回答思考题。
} K = LH; while(J>=K) { J=J-K; K=(int)(K/2+0.5); } J=J+K;
} }
实验三: 用双线性变换法设计 IIR数字滤波器
1. 实验目的 (1) 熟悉用双线性变换法设计IIR数字滤波器的原理 与方法。 (2) 掌握数字滤波器的计算机仿真方法。 (3) 通过观察对实际心电图信号的滤波作用, 获得 数字滤波的感性知识。
0n3 4n7
其它n
4 n 0 n 3
x3(n) n 3 4 n 7
0
x4 (n)
cos
4
n
其它n
x5
(n)
sin
8
n
x6(n) cos8 t cos16 t cos 20 t
(4) 编写主程序。 图 1 给出了主程序框图, 供参考。 本实验提供 FFT子程序和通用绘图子程序。 (5) 按实验内容要求, 上机实验, 并写出实验 报告。

信号分析与处理MATLAB仿真实验报告

信号分析与处理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系统仿真试题复习资料,有答案

MATLAB系统仿真试题复习资料,有答案

PART I 教材复习要点第一章 MATLAB 入门测试1.11.MATLAB 的命令窗口的作用是什么?编辑/调试窗口?图象窗口? MATLAB 命令窗口是MATLAB 起动时第一个看到的窗口,用户可以在命令窗口提示符">>"后面输入命令,这些命令会被立即执行。

命令窗口也可以用来执行M 文件。

编辑/调试窗口是用来新建,修改或调试M 文件的。

图像窗口用来显示MATLAB 的图形输出。

2.列出几种不同的得到MATLAB 帮助的方法。

(1)在命令窗口中输入help <command_name>,本命令将会在命令窗口中显示关于些命令的有信息。

(2)在命令窗口中输入lookfor <keyword>,本命令将会在命令窗口中显示所有的在第一注释行中包含该关键字的命令和函数。

(3)通过在命令窗口输入helpwin 或helpdesk 启动帮助浏览器,或者是在启动板中选择"Help"。

帮助浏览器包含了基于超文本的MATLAB 所有特性的描述,HTML 或PDF 格式的在线手册,这是MATLAB 最全面的帮助资源。

3.什么是工作区?在同一工作区内,你如何决定它里面存储了什么?工作区是命令、M 文件或函数执行时被MATLAB 使用的变量或数组的收集器,所有命令都在命令窗口(所有的脚本文件也是从命令窗口执行)共享公共工作区,因此它们也共享所有变量,工作区的内容可以通过whos 命令来查看,或者通过工作区浏览器来图形化地查看。

4.你怎样清空MATLAB 工作区内的内容?要清除工作区的内容,只需在命令窗口中输入clear 或clear variables 即可。

第二章MATLAB 基础测试2.11.数组,矩阵,向量有什么区别?数组是在内存中被组织成行和列的数据集合,只有一个名称,数据要通过在数组名后面圆括号里加上表示数据所在行和列的数字来访问。

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实验课后复习

信号与系统Matlab实验课后复习实验⼀典型连续时间信号和离散时间信号⼀、实验⽬的掌握利⽤Matlab 画图函数和符号函数显⽰典型连续时间信号波形、典型时间离散信号、连续时间信号在时域中的⾃变量变换。

⼆、实验内容1、典型连续信号的波形表⽰(单边指数信号、复指数信号、抽样信号、单位阶跃信号、单位冲击信号)1)画出教材P28习题1-1(3) ()[(63)(63)]t f t e u t u t =----的波形图。

function y=u(t) y=t>=0;t=-3:0.01:3;f='exp(t)*(u(6-3*t)-u(-6-3*t))';ezplot(f,t);grid on;2)画出复指数信号()()j t f t e σω+=当0.4, 8σω==(0波形图。

t=0:0.01:10;f1='exp(0.4*t)*cos(8*t)';f2='exp(0.4*t)*sin(8*t)';figure(1)ezplot(f1,t);grid on;figure(2)ezplot(f2,t);grid on;t=-10:0.01:10; f='sin(t)/t'; ezplot(f,t); grid on;t=0:0.01:10;f='(sign(t-3)+1)/2'; ezplot(f,t);grid on;5)单位冲击信号可看作是宽度为?,幅度为1/?的矩形脉冲,即t=t 1处的冲击信号为11111 ()()0 t t t x t t t otherδ??<<+??=-=画出0.2?=, t 1=1的单位冲击信号。

t=0:0.01:2;f='5*(u(t-1)-u(t-1.2))';ezplot(f,t);grid on;axis([0 2 -1 6]);2、典型离散信号的表⽰(单位样值序列、单位阶跃序列、实指数序列、正弦序列、复指数序列)编写函数产⽣下列序列:1)单位脉冲序列,起点n0,终点n f,在n s处有⼀单位脉冲。

信号与系统MATLAB仿真——信号及其运算

信号与系统MATLAB仿真——信号及其运算

信号与系统MATLAB仿真——信号及其运算1. 知识回顾(1)信号的分类:确定信号与随机信号;周期信号与⾮周期信号;周期信号在时间上必须是⽆始⽆终的f(t)=f(t+T)f[k]=f[k+N]连续时间信号和离散时间信号;连续信号是指在信号的定义域内,除若⼲个第⼀类间断点外,对于任意时刻都由确定的函数值的信号离散信号是指在信号的定义域内,只在某些不连续规定的时刻给出函数值,⽽在其他时刻没有给出函数的信号能量信号、功率信号与⾮功率⾮能量信号;时限与频限信号;物理可实现信号。

(2)信号能量:E=limT→∞∫T−T f2(t)dtP=limT→∞12T∫T−Tf2(t)dtE=limN→∞N∑k=−N|f[k]|2P=limN→∞12N+1N∑k=−N|f[k]|2能量信号:0<E<∞,P=0;功率信号:0<P<∞,E=∞。

(3)冲激函数的性质加权特性(筛选特性):f(t)δ(t−t0)=f(t0)δ(t−t0)取样特性:∫+∞−∞f(t)δ(t−t0)=f(t0)偶函数:f(t)=f(−t)展缩特性:δ(at)=1|a|δ(t)δ(at−t0)=1|a|δ(t−t0a)导数及其特性。

(4)正弦两个频率相同的正弦信号相加,即使其振幅和相位各不相同,但相加后结果仍是原频率的正弦信号;若⼀个正弦信号的频率是另⼀个正弦信号频率的整数倍时,则合成信号是⼀个⾮正弦周期信号,其周期等于基波的周期。

正弦型序列:f[k]=A sin(Ω0k+φ)2π/Ω0是正整数:周期序列,周期为N;2π/Ω0为有理数,2π/Ω0=N/m:周期序列,周期N=m(2π/Ω0);2π/Ω0为⽆理数:⾮周期序列,但包络仍为正弦函数。

(5)抽样信号Sa(t)=sin t t偶函数;Sa(0)=1;t=kπ为其零点;∫+∞−∞Sa(t)dt=π;limt→±∞Sa(t)=0。

(6)信号的分解分解为直流分量与交流分量;奇偶分解;分解为实部和虚部;分解为基本信号的有限项之和;因⼦分解;连续信号分解为矩形脉冲序列;正交分解。

通信原理Matlab仿真实验报告

通信原理Matlab仿真实验报告

通信原理Matlab仿真实验报告学号:姓名:实验一1、利用Matlab实现矩形信号串信号分解与合成⑴ Matlab程序代码:①矩形信号串信号分解与合成函数rectexpd():function rectexpd(T1,T0,m)%矩形信号串信号分解与合成%T1:矩信号区间为(-T1/2,T1/2)%T0:矩形矩信信号串周期%m:傅里叶级数展开项次数t1=-T1/2:0.01:T1/2;t2=T1/2:0.01:(T0-T1/2); t=[(t1-T0)';(t2-T0)';t1';t2';(t1+T0)'];n1=length(t1);n2=length(t2); %根据周期矩形信号函数周期,计算点数f=[ones(n1,1);zeros(n2,1);ones(n1,1);zeros(n2 ,1);ones(n1,1)]; %构造周期矩形信号串y=zeros(m+1,length(t));y(m+1,:)=f';figure(1);plot(t,y(m+1,:)); %绘制周期矩形信号串axis([-(T0+T1/2)-0.5,(T0+T1/2)+0.5,0,1.2]); set(gca,'XTick',[-T0,-T1/2,T1/2,T0]);set(gca,'XTickLabel',{'-T0','-T1/2','T1/2','T0'}) ;title('矩形信号串');grid on; a=T1/T0;pause; %绘制离散幅度谱freq=[-20:1:20];mag=abs(a*sinc(a*freq)); stem(freq,mag);x=a*ones(size(t));for k=1:m %循环显示谐波叠加图形pause;x=x+2*a*sinc(a*k)*cos(2*pi*t*k/T0);y(k,:)=x;plot(t,y(m+1,:));hold on;plot(t,y(k,:));hold off;grid on;axis([-(T0+T1/2)-0.5,[T0+T1/2]+0.5,-0.5,1.5]) ;title(strcat(num2str(k),'次谐波叠加')); xlabel('t');endpause;plot(t,y(1:m+1,:));grid on;axis([-T0/2,T0/2,-0.5,1.5]);title('各次谐波叠加');xlabel('t');②在命令窗口调用rectexpd()函数:T1=5;T0=10;m=5;rectexpd(T1,T0,m)⑵Matlab仿真结果:1次谐波叠加t3次谐波叠加tt2次谐波叠加t4次谐波叠加tt2、利用Matlab实现连续信号卷积运算⑴ Matlab程序代码:①连续信号卷积运算的通用函数sconv():function [f,k]=sconv(f1,f2,k1,k2,p) f=conv(f1,f2);f=f*p;k0=k1(1)+k2(1);k3=length(f1)+length(f2)-2;k=k0:p:k3*p; subplot(2,2,1); plot(k1,f1); title('f1(t)'); xlabel('t'); ylabel('f1(t)');subplot(2,2,2);plot(k2,f2);title('f2(t)'); xlabel('t'); ylabel('f2(t)'); subplot(2,2,3); plot(k,f); title('f(t)=f1(t)*f2(t)'); xlabel('t'); ylabel('f(t)');h=get(gca,'position'); h(3)=2.5*h(3);set(gca,'position',h);②在命令窗口调用sconv ()函数: p=0.01; k1=0:p:2; f1=exp(-k1); k2=0:p:3;f2=ones(1,length(k2)); [f,k]=sconv(f1,f2,k1,k2,p)⑵Matlab 仿真结果:0.511.5200.51f1(t)tf 1(t )01230.511.52f2(t)tf 2(t )00.51 1.522.533.544.550.51f(t)=f1(t)*f2(t)tf (t )实验二1、用Matlab模拟图形A律解码⑴Matlab程序代码:①建立函数ADecode()function y=ADecode(code,n) codesize=size(code);cr_len=codesize(1);cl_len=codesize(2);ca=zeros(1,cl_len-1);for i=1:cr_lenca=code(i,2:n);s=0;for j=1:n-1s=s+ca(j)*2^(n-1-j);enda=code(i,1);y(i)=s*((-1)^(a+1)); endy=y/(2^(n-1));A=87.6;A1=1+log(A); for j=1:length(y)if(y(j)>=0)if(y(i)<=1/A1)y(j)=y(j)*A1/A;elsey(j)=exp(y(j)*A1-1/A);endelsetemp=-y(j);if(temp<=1/A1)y(j)=-temp*A1/A;elsey(j)=-exp(temp*A1-1)/A;endendend②建立函数APCM()function code=APCM(x,n)xmax=max(abs(x));x=x/xmax;xlen=length(x);y=zeros(1,xlen);A=87.6;A1=1+log(A);for i=1:xlenif x(i)>=0if x(i)<=1/Ay(i)=(A*x(i))/A1;elsey(i)=(1+log(A*x(i)))/A1;endelsex1=-x(i);if x1<=1/Ay(i)=-(A*x1)/A1;elsey(i)=-(1+log(A*x1))/A1;endendendy1=y*(2^(n-1)-1);y1=round(y1);code=zeros(length(y1),n); c2=zeros(1,n-1);for i=1:length(y1)if(y1(i)>0)c1=1;elsec1=0;y1(i)=-y1(i);endfor j=1:n-1r=rem(y1(i),2);y1(i)=(y1(i)-r)/2;c2(j)=r;endc2=fliplr(c2);code(i,:)=[c1 c2];end③在新函数中调用前两个函数 t=0:0.01:1; x=sin(2*pi*t); code=APCM(x,7); y=ADecode(code,7); subplot(2,1,1) plot(t,x);title('原函数的图形'); subplot(2,1,2) plot(t,y);title('解码后函数的图形');⑵Matlab 仿真结果:00.10.20.30.40.50.60.70.80.91-1-0.500.51原函数的图形00.10.20.30.40.50.60.70.80.91-1-0.50.5解码后函数的图形2、用Matlab 模拟DSB 调制及解调过程 ⑴Matlab 程序代码: close all; clear all;dt=0.001;%采样时间间隔 fm=1; %信源最高频率 fc=10; %载波中心频率 N=4096;T=N*dt; t=0:dt:T-dt;mt=sqrt(2)*cos(2*pi*fm*t);%信源s_dsb=mt.*cos(2*pi*fc*t); %DSB-SC 双边带抑制载波调幅B=2*fm;figure(1); subplot(311) plot(t,s_dsb,'b-');hold on; %画出DSB 信号波形plot(t,mt,'r--');%画出m(t)信号波形 title('DSB 调制信号'); xlabel('t'); grid on;%DSB demodulation rt=s_dsb.*cos(2*pi*fc*t); rt=rt-mean(rt); [f,rf]=T2F(t,rt); [t,rt]=lpf(f,rf,B); subplot(312) plot(t,rt,'k-'); hold on;plot(t,mt/2,'r--');title('相干解调后的信号波形与输入信号的比较'); xlabel('t'); grid on; subplot(313)[f,sf]=T2F(t,s_dsb); %求调制信号的频谱psf=(abs(sf).^2)/T; %求调制信号的功率谱密度 plot(f,psf);axis([-2*fc 2*fc 0 max(psf)]); title('DSB 信号功率谱'); xlabel('f'); grid on;⑵Matlab 仿真结果:00.51 1.52 2.53 3.54 4.5-22DSB 调制信号t0.511.522.533.544.5-101相干解调后的信号波形与输入信号的比较t-20-15-10-5051015200.5DSB 信号功率谱f实验三1、用Matlab模拟双极性归零码⑴ Matlab程序代码:function y=drz(x)t0=300;x=[1 0 0 1 1 0 0 0 0 1 0 1];t=0:1/t0:length(x);for i=1:length(x);if(x(i)==1)for j=1:t0/2y(t0/2*(2*i-2)+j)=1;y(t0/2*(2*i-1)+j)=0;endelsefor j=1:t0/2y(t0/2*(2*i-2)+j)=-1;y(t0/2*(2*i-1)+j)=0;endendendy=[y,x(i)];M=max(y);m=min(y); subplot(211)plot(t,y);grid on;axis([0,i,m-0.1,M+0.1]);title('1 0 0 1 1 0 0 0 0 1 0 1 ');⑵Matlab仿真结果:2、用Matlab产生2FSK信号⑴ Matlab程序代码:①建立函数fskdigital()function fskdigital(s,f1,f2) t=0:2*pi/99:2*pi;m1=[];c1=[];b1=[];for n=1:length(s)if s(n)==0;m=ones(1,100);c=sin(f2*t);b=zeros(1,100) else s(n)==1;m=ones(1,100);c=sin(f1*t);b=ones(1,100)endm1=[m1 m]; c1=[c1 c]; b1=[b1 b]; endfsk=c1.*m1;subplot(211);plot(b1,'r')title('原始信号');axis([0 100*length(s) -0.1 1.1]);grid on;subplot(212);plot(fsk)title('2FSK信号');grid on;②在命令窗口调用函数fskdigital() >> s=[1 0 1 1 0 0 1 0]; f1=200; f2=100;fskdigital(s,f1,f2)⑵Matlab 仿真结果:10020030040050060070080000.20.40.60.81原始信号100200300400500600700800-1-0.500.512FSK 信号3、用Matlab 的simulink 模块模拟三角波的分解与还原 ⑴模块图⑵仿真结果:①三角波原图②用矩形波近似的冲击函数③分解后的三角波④经低通还原的三角波。

实验一 典型环节的MATLAB仿真汇总

实验一  典型环节的MATLAB仿真汇总

实验一 典型环节的MATLAB 仿真一、实验目的1.熟悉MATLAB 桌面和命令窗口,初步了解SIMULINK 功能模块的使用方法。

2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。

3.定性了解各参数变化对典型环节动态特性的影响。

二、SIMULINK 的使用MATLAB 中SIMULINK 是一个用来对动态系统进行建模、仿真和分析的软件包。

利用SIMULINK 功能模块可以快速的建立控制系统的模型,进行仿真和调试。

1.运行MATLAB 软件,在命令窗口栏“>>”提示符下键入simulink 命令,按Enter 键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK 仿真环境下。

2.选择File 菜单下New 下的Model 命令,新建一个simulink 仿真环境常规模板。

3.在simulink 仿真环境下,创建所需要的系统三、实验内容按下列各典型环节的传递函数,建立相应的SIMULINK 仿真模型,观察并记录其单位阶跃响应波形。

① 比例环节1)(1=s G 和2)(1=s G 实验处理:1)(1=s G SIMULINK 仿真模型波形图为:实验处理:2)(1=s G SIMULINK 仿真模型波形图为:实验结果分析:增加比例函数环节以后,系统的输出型号将输入信号成倍数放大.② 惯性环节11)(1+=s s G 和15.01)(2+=s s G 实验处理:11)(1+=s s GSIMULINK 仿真模型波形图为:实验处理:15.01)(2+=s s GSIMULINK 仿真模型波形图为:实验结果分析:当11)(1+=s s G 时,系统达到稳定需要时间接近5s,当15.01)(2+=s s G 时,行动达到稳定需要时间为2.5s,由此可得,惯性环节可以调节系统达到稳定所需时间,可以通过惯性环节,调节系统达到稳定输出的时间。

③ 积分环节s s G 1)(1=实验处理: SIMULINK 仿真模型实物图为:实验结果分析:由以上波形可以的出,当系统加入积分环节以后,系统的输出量随时间的变化成正比例增加。

基于MATLAB的信号与系统仿真实验

基于MATLAB的信号与系统仿真实验

基于MATLAB 的信号与系统仿真实验一、信号生成与运算的实现1.1实现)3(sin )()(π±===t tt t S t f a )(sin )sin(sin(sin )()(t c t t t t t t t S t f a ′=′′====ππππππm11.m t=-3*pi:0.01*pi:3*pi;%定义时间范围向量tf=sinc(t/pi);%计算Sa(t)函数plot(t,f);%绘制Sa(t)的波形运行结果:1.2实现)10()sin()(sin )(±===t t t t c t f ππm12.mt=-10:0.01:10;%定义时间范围向量t f=sinc(t);%计算sinc(t)函数plot(t,f);%绘制sinc(t)的波形运行结果:1.3信号相加:tt t f ππ20cos 18cos )(+=m13.m syms t;%定义符号变量tf=cos(18*pi*t)+cos(20*pi*t);%计算符号函数f(t)=cos(18*pi*t)+cos(20*pi*t)ezplot(f,[0pi]);%绘制f(t)的波形运行结果:1.4信号的调制:tt t f ππ50cos )4sin 22()(+=m14.msyms t;%定义符号变量tf=(2+2*sin(4*pi*t))*cos(50*pi*t)%计算符号函数f(t)=(2+2*sin(4*pi*t))*cos(50*pi*t)ezplot(f,[0pi]);%绘制f(t)的波形运行结果:1.5信号相乘:)20cos()(sin )(t t c t f π⋅=m15.mt=-5:0.01:5;%定义时间范围向量f=sinc(t).*cos(20*pi*t);%计算函数f(t)=sinc(t)*cos(20*pi*t)plot(t,f);%绘制f(t)的波形title('sinc(t)*cos(20*pi*t)');%加注波形标题运行结果:二、系统时域的仿真分析2.1实现卷积)(*)(t h t f ,其中:)2()()()],1()([2)(−−=−−=t t t h t t t f εεεεm21.mp=0.01;%取样时间间隔nf=0:p:1;%f(t)对应的时间向量f=2*((nf>=0)-(nf>=1));%序列f(n)的值nh=0:p:2;%h(t)对应的时间向量h=(nh>=0)-(nh>=2);%序列h(n)的值[y,k]=sconv(f,h,nf,nh,p);%计算y(t)=f(t)*h(t)subplot(3,1,1),stairs(nf,f);%绘制f(t)的波形title('f(t)');axis([0302.1]);subplot(3,1,2),stairs(nh,h);%绘制h(t)的波形title('h(t)');axis([0301.1]);subplot(3,1,3),plot(k,y);%绘制y(t)=f(t)*h(t)的波形title('y(t)=f(t)*h(t)');axis([0302.1]);子程序sconv.m%此函数用于计算连续信号的卷积y(t)=f(t)*h(t)function [y,k]=sconv(f,h,nf,nh,p)%y:卷积积分y(t)对应的非零样值向量%k:y(t)对应的时间向量%f:f(t)对应的非零样值向量%nf:f(t)对应的时间向量%h:h(t)对应的非零样值向量%nh:h(t)对应的时间向量%p:取样时间间隔y=conv(f,h);%计算序列f(n)与h(n)的卷积和y(n)y=y*p;%y(n)变成y(t)left=nf(1)+nh(1)%计算序列y(n)非零样值的起点位置right=length(nf)+length(nh)-2%计算序列y(n)非零样值的终点位置k=p*(left:right);%确定卷积和y(n)非零样值的时间向量运行结果:2.2实现卷积)(*)(t h t f ,其中:)()()],2()([2)(t e t h t t t f t εεε−=−−=m22.mp=0.01;%取样时间间隔nf=0:p:2;%f(t)对应的时间向量f=2*((nf>=0)-(nf>=2));%序列f(n)的值nh=0:p:4;%h(t)对应的时间向量h=exp(-nh);%序列h(n)的值[y,k]=sconv(f,h,nf,nh,p);%计算y(t)=f(t)*h(t)subplot(3,1,1),stairs(nf,f);%绘制f(t)的波形title('f(t)');axis([0602.1]);subplot(3,1,2),plot(nh,h);%绘制h(t)的波形title('h(t)');axis([0601.1]);subplot(3,1,3),plot(k,y);%绘制y(t)=f(t)*h(t)的波形title('y(t)=f(t)*h(t)');axis([0602.1]);运行结果:2.3设方程)(2)(6)(5)('''t e t y t y t y t ε−=++,试求零状态响应)(t y m23.m :yzs=dsolve('D2y+5*Dy+6*y=2*exp(-t)','y(0)=0,Dy(0)=0')ezplot(yzs,[08]);运行结果:yzs =exp(-t)+exp(-3*t)-2*exp(-2*t)即:)()2()(32t e e e t y t t t ε−−−+−=2.4已知二阶系统方程)(1)(1)()('''t LCt u LC t u L R t u c c δ=++对下列情况分别求)(t h ,并画出其波形。

信号与系统matlab仿真实验报告

信号与系统matlab仿真实验报告

题号
1、对于一般的正弦信号、复指数信号、指数信号能够画出其波形图,分析其有
无周期,有周期的给出周期值;
2、能够画出任意输入信号的时域波形图;
注:请区别CT和DT信号。

3、能够画出信号的频谱图,包括幅度谱和相位谱;
4、能够实现信号卷积,并画出卷积后信号的波形图;
1.我把前四个要求集成在了一个主面板里,通过面板platform调用四个不同的功能。

2.第一个分界面general_signal用于实现题目1,由用户选择信号类型并输入信号相关参数。

3.第二个分界面any_signal用于实现题目1、2,同时显示出信号的时域波形以及频谱图、相位图。

4.第三、四个界面signal_ct_conv、signal_dt_conv分别用于实现连续和离散的卷积,对应题目4。

数字信号处理(第2版)教学课件第8章 MATLAB仿真实验

数字信号处理(第2版)教学课件第8章 MATLAB仿真实验
系统的时域特性是指系统的线性移不变性质、因果性 和稳定性。重点分析实验系统的稳定性,包括观察系统的 暂态响应和稳定响应。
系统的稳定性是指对任意有界的输入信号,系统都能 得到有界的系统响应,或者系统的单位脉冲响应满足绝对 可和的条件。系统的稳定性由其差分方程的系数决定。
实际中检查系统是否稳定,不可能检查系统对所有有界 的输入信号、输出是否都是有界输出,或者检查系统的单位 脉冲响应满足绝对可和的条件。可行的方法是在系统的输入 端加入单位阶跃序列,如果系统的输出趋近一个常数(包括 零),就可以断定系统是稳定的。系统的稳态输出是指当n→ ∞时系统的输出。如果系统稳定,信号加入系统后,系统输出 的开始一段称为暂态效应,随着n的加大,幅度趋于稳定,达 到稳态输出。
(2)频域采样理论的验证。 给定长度为26的三角波序列x(n) 编写程序,分别对频谱函数 X (e j ) FT[x(n)] 在区间 [0, 2π] 上等间隔采样32点和16点,得到 X32 (k) 和 X16 (k) ,再分别对 X32 (k)
和 ①X16分(k)别进画行出32X点(ej和 )、16X点32 (IkF)F和T,X1得6 (k到) 的x幅32 (度n)谱和。x16 (n) 。要求:
4. 参考程序
(1)内容1参考程序,实验结果。 (2)内容2参考程序,实验结果。 (3)内容3参考程序,实验结果。
5.实验结果
图8-1 调用filter解差分方程仿真结果
5.实验结果
图8-2 稳定性分析方面的仿真结果
5.实验结果
图8-3 稳定性分析仿真结果
实验二 时域采样与频域采样
1. 实验目的
y(n) 0.5y(n 1) 0.25y(n 2) x(n) 2x(n 1) x(n 3)

数字信号处理实验考试MATLAB笔记.

数字信号处理实验考试MATLAB笔记.

数字信号处理实验考试MATLAB 笔记1、计算卷积:y=conv(x,h)2、filter 函数计算差分方程的零状态相应离散LTI 都可用如下的线性常系数的差分方程描述:∑∑==-=-N n Mn n n n k x b n k y a00][][ filter 函数,可方便地计算出上述差分方程的零状态响应。

filter 函数调用形式为 y=filter(b,a,x) a 对应y ,b 对应x ;x 表示输入的序列,其中a=[a0,a1,…,aN], b=[bo,b1,…,bM];[h,n]=impz(b,a,L);是求单位脉冲响应的函数,L 是点数3、freqz 函数计算有理分式的频率相应的抽样值若X (Ωj e )可表示为:)(Ωj e X =)()(ΩΩj j e A e B =N j j M j j aNe e a a bMe e b bo Ω-Ω-Ω-Ω-++++++...10...1 freqz 的调用形式为X=freqz(b,a,w);其中b=[b0,b1,…,bM],a=[a0,a1,…,aN] W 为抽样的频率点,abs 、angle 、real 、imag 分别计算X 的幅度,相角,实部和虚部;4、X (z )的部分分式展开的函数,它的调用形式如下:[r,p,k]=residuez(b,a)(分解为并联1型,residue 分解为并联2型) 要弄清楚它们的用法!b,a 分别表示用z 1-表示X (z )的分子和分母多项式;注意,b=[b0,b1,b1...bn];1其中bn 是z^(-n)的系数:如果X (z )的部分分式展开为X(z)=12111121)31(4313212111-----++-+-+-+-z k k z p r z p r z p r z p r 则residuez 的返回参数r,p,k 分别为r=[r 1 r 2 r 3 r 4]p=[p1 p2 p3 p3]k=[k1 k2]同一极点p3在向量p 中出现了两次,表示p3是一个二阶的重极点。

《信号与系统》MATLAB仿真实验讲义

《信号与系统》MATLAB仿真实验讲义

《信号与系统》MATLAB仿真实验讲义(第二版)肖尚辉编写宜宾学院电信系电子信息教研室《信号与系统》课程2004年3月 宜宾使用对象:电子专业02级3/4班(本科)实验一 产生信号波形的仿真实验一、实验目的:熟悉MATLAB软件的使用,并学会信号的表示和以及用MATLAB来产生信号并实现信号的可视化。

二、实验时数:3学时+3学时(即两次实验内容)三、实验内容:信号按照自变量的取值是否连续可分为连续时间信号和离散时间信号。

对信号进行时域分析,首先需要将信号随时间变化的规律用二维曲线表示出来。

对于简单信号可以通过手工绘制其波形,但对于复杂的信号,手工绘制信号波形显得十分困难,且难以绘制精确的曲线。

在MATLAB中通常用三种方法来产生并表示信号,即(1)用MATLAB软件的funtool符合计算方法(图示化函数计算器)来产生并表示信号;(2)用MATLAB软件的信号处理工具箱(Signal Processing Toolbox)来产生并表示信号;(3)用MATLAB软件的仿真工具箱Simulink中的信号源模块。

(一) 用MATLAB软件的funtool符合计算方法(图示化函数计算器)来产生并表示信号在MATLAB环境下输入指令funtool,则回产生三个视窗。

即figure No.1:可轮流激活,显示figure No.3的计算结果。

figure No.2:可轮流激活,显示figure No.3的计算结果。

figure No.3:函数运算器,其功能有:f,g可输入函数表达式;x是自变量,在缺省时在[-2pi,2pi]的范围内;自由参数是a;在分别输入完毕后,按下面四排的任一运算操作键,则可在figure No.1或figure No.2产生相应的波形。

学生实验内容:产生以下信号波形3sin(x)、5exp(-x)、sin(x)/x、1-2abs(x)/a、sqrt(a*x)(二) 用MATLAB软件的信号处理工具箱(Signal Processing Toolbox)来产生并表示信号一种是用向量来表示信号,另一种则是用符合运算的方法来表示信号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一. 生成一个基频为20Hz ,幅度为±1的周期方波信号;(1)试确定该信号的周期?(2)画出该信号5个周期内的波形;画出该信号的幅度频谱图;(3)该信号谱线间隔和频带宽度是多少,对它进行时域采样,采样频率Fs 至少为多少?(4)设计一个IIR/FIR 低通滤波器,滤去该周期信号中80Hz 以后的频率成分,要求通带截止频率80Hz ,阻带截止频率90Hz ,通带纹波小于3dB ,阻带衰减大于50dB ,用matlab 命令画出滤波器的频率响应,以及滤波后的信号波形和频谱。

答:1.周期为0.05秒;3.谱线间隔为20Hz, 带宽为40Hz ,采样频率至少为80Hz 。

Fs=1000;N=256; % 时域/频率采样点t=0:1/Fs:(N-1)/Fs;x=square(2*pi*20*t); %产生幅度为[-1,1],频率为20Hz 的方波subplot(2,1,1) %方波绘图plot(t,x); title('5个周期的矩形波')axis([0,0.1,-1.5,1.5])T=0.05; %求方波的频谱t1=0:1/Fs:(T-1/Fs);xn=square(2*pi*20*t1);Xk=fft(xn,N);Xk=fftshift(abs(Xk));Xkl=Xk/N;subplot(2,1,2)plot(Fs/N*[0:1:N-1],Xkl)title('方波信号的频谱')[n,Wn]=buttord(80/500,90/500,3,50); %确定butterworth 滤波器的阶次 butterworth 低通滤波%器:通带截止频率80Hz ,阻带截止频率90Hz ,通带纹波小于3dB ,阻带衰减大于50dB ,%以上参数可以变化[b,a]=butter(n,Wn); %确定滤波器传递函数y=filter(b,a,x); %滤波figure %滤波器频率特性freqs(b,a); title('低通滤波器频率特性') ;figuresubplot(2,1,1)plot(t,y) ;title('矩形波通过低通滤波器后的波形') ;axis([0,0.1,-1.5,1.5])subplot(2,1,2)N=512; %可适当增减fy=fftshift(fft(y,N)); %矩形波通过低通滤波器后的频谱f=(-N/2:(N/2-1))*2; f=f*Fs/N;plot(f,abs(fy)/N) ;title('矩形波通过低通滤波器后的频谱')二.设有连续信号()cos(240)f t t π=⨯⨯,(1)利用DFT 计算该连续时间信号的频谱,采样频率至少应取多少?80HZ(2)以采样频率Hz F s 1000=对信号)(t f 采样得)(t f a ,请画出两个周期内的离散 信号)(t f a 的波形;[要求横坐标限定到0-0.3s ,纵坐标在-1.4—1.5之间](3)若以频率为100Hz 的余弦信号对信号)(t f 进行幅度调制,采样频率仍选取Hz F s 1000=,试画出调制信号()()*cos(2200)y t f t t π=⨯⨯的波形图和幅度频谱图。

(频谱图只显示-1000Hz 到1000HZ 范围,频谱图纵坐标要求是dB 为单位,单独画一幅图)(30分)(4)对y(t)进行解调:1()()*cos(2200)*cos(2200)y t f t t t ππ=⨯⨯⨯⨯,设计一个Butter-Worth 低通滤波器,要求从y 1(t)中恢复出原连续时间信号f(t),确定滤波器的参数,采样频率为1000Hz ;画出滤波器的幅频特性曲线及y 1(t)经过滤波器后的输出信号的时域波形。

(要求横坐标是Hz 为单位的频率)。

clear allclcFs=1000;Fc=200;N=512;n=0:1:N-1;t=n/Fs;fa=cos(2*pi*20*t);y=cos(2*pi*200*t).*fa;%调制stem(n/Fs,fa); %画调制信号title('采样信号 fa(t)')axis([0,0.3,-1.4,1.5])figure %画已调制信号波形和频谱subplot(2,1,1)plot(y);title('已调制信号')subplot(2,1,2)yk=fftshift(fft(y,N));f=(-N/2:(N/2-1))*2;f=f*Fs/N;plot(f,abs(yk))title('调制信号的频谱')[n,Wn]=buttord(60/500,100/500,3,50);%确定butterworth 滤波器阶次[b,a]=butter(n,Wn);%确定滤波器传递函数figurefreqs(b,a);%滤波器频率特性title('低通滤波器频率特性')y1=y.*cos(2*pi*200*t) %相干解调y=filter(b,a,y1); %滤波figureplot(t,y);title('调制信号y (t )通过滤波器后的波形')三.已知信号)1002sin()152sin()102sin()(t t t t x ⨯+⨯+⨯=πππ,(1)若对信号进行数字处理,采样频率理论上至少为多少Hz ?200Hz(2)该信号的频率分辨率是多少Hz ?在500Hz 采样频率下,若想区分三个正弦分量的频谱,采样点数至少为多少?128(3)在500Hz 采样频率绘制信号的时域波形,绘出信号的幅度频谱图。

(4)设计一个IIR 或FIR 滤波器,使)(t x 经过滤波器后,滤除)200sin(t π。

画出滤波器的频率响应特性图,画出滤波器的输出信号时域波形图。

clear allclcfs=500;n=[0:127];x=cos(2*pi*10*n/fs)+cos(2*pi*15*n/fs)+cos(2*pi*100*n/fs);x1=sin(200*pi*n/fs);subplot(2,1,1);plot(n/fs,x);title('signal x(t)')Xk=fft(x);Xk=fftshift(abs(Xk));subplot(2,1,2);plot(n/fs,Xk);title('信号幅度频谱图');[n,Wn]=buttord(10/500,100/500,3,50);%确定butterworth 滤波器阶次[b,a]=butter(n,Wn);%确定滤波器传递函数figurefreqs(b,a);%滤波器频率特性title('低通滤波器频率特性')y=filter(b,a,x1);%滤波figuren=[0:127];fs=500;plot(n/fs,y)title('x1通过低通滤波器后的波形')四,设有连续信号(t)cos(2 5.51000)cos(261000)cos(291000)a x t t t πππ=⨯⨯+⨯⨯+⨯⨯(1) 若利用DFT 计算该连续时间信号频谱,采样频率应该取多少?18000HZ(2) 为区分上述的三个频率分量,至少应该采集多少个样本?128(3) 一采样频率Fs=32kHz 对信号Xa(t)采样,画出Xa(t)的波形(4) 一采样频率Fs=32kHz 对信号Xa(t)采样,采样数据长度N=128点,做N=128点的DFT,并画出幅频特性.(5) 设计一个滤波器,滤除信号Xa(t)中频率为6kHz 和9kHz 的两个分量,画出滤波器的幅频特性曲线(6) 画出滤波器的输出信号的时域波形图.fs=32000;n=[0:127];x=cos(2*pi*5.5*1000*n/fs)+cos(2*pi*6*1000*n/fs)+cos(2*pi*9*1000*n/fs);subplot(2,1,1);plot(n/fs,x);title('signal x(t)')Xk=fft(x,128);magXk=abs(Xk);k1=0:127;w1=fs/256*k1;subplot(2,1,2);plot(w1,magXk);title('16点DTFT的幅值');xlabel('w(单位:Hz)')[n,Wn]=buttord(5500/16000,6000/16000,3,50);%确定butterworth滤波器阶次[b,a]=butter(n,Wn);%确定滤波器传递函数figurefreqs(b,a);%滤波器频率特性y=filter(b,a,x);%滤波figuren=[0:127];fs=32000;plot(n/fs,y)title('xa(t)通过低通滤波器后的波形')五,产生一个周期为0.01秒,幅值为-1到1的方波信号,画出信号的时域波形图;(1)该信号的谱线间隔是多少Hz?/频带宽度是多少Hz?(2)若利用DFT计算该连续时间信号的频谱,采样频率至少应取多少?(3)用Matlab画出该信号的幅度频谱图;(4)设计一个滤波器,滤除该信号的基波分量;画出滤波器的频响特性;(5)画出滤波器的输出信号的时域波形;答(1)谱线间隔是100Hz;频带宽度是200Hz’(2)采样频率至少应取400Hzclear allclcfs=1000;t=0:1/fs:0.1;x=square(2*pi*100*t);%产生幅度为[-1,+1]的方波plot(t,x)title('周期矩形波')axis([0,0.1,-1.5,1.5])%求周期矩形波的幅度频谱T=0.01;t1=0:1/fs:(T-1/fs);x1=square(2*pi*100*t1);Xk=fft(x1);Xk=(1/10)*(fftshift(abs(Xk)));figurestem((-fs/10)*(-5:4),Xk)title('周期矩形波的幅度频谱图')[n,Wn]=buttord(150/500,200/500,3,50);%确定butterworth滤波器阶次[b,a]=butter(n,Wn);%确定滤波器传递函数freqs(b,a);%滤波器频率特性title('低通滤波器频率特性')y=filter(b,a,x);%滤波figureplot(t,y)title('矩形波通过低通滤波器后的波形')axis([0,0.1,-1.5,1,5])六1.生成一个基频为10Hz,幅度为0到1,占空比为50%的周期矩形方波信号,画出该信号3个周期内的波形(要求横坐标限定在0到0.4秒之间,纵坐标限定在-0.3到+1.3之间);2.选取合适的采样频率,画出该信号的幅度频谱图,只显示-500Hz到+500Hz范围;3.设计一个带阻滤波器,要求该滤波器滤除掉频率为30Hz的三次谐波成分,用MATLAB命令只画出滤波器的幅度频谱响应特性曲线,要求纵坐标单位为dB。

相关文档
最新文档