当前位置:文档之家› 信号仿真实验报告

信号仿真实验报告

信号与系统仿真实验报告实验一(1)()t δFunction-M 文件function [x,t]=dirac(t1,t2,t0)%y=dirac(t-t0),t1<t<t2dt=0.001; %信号时间间隔t=t1:dt:t2; %信号时间样本点向量n=length(t); %时间样本点向量长度x=zeros(1,n); %各样本点信号赋值为零x(1,(t0-t1)/dt+1)=1/dt; %在时间t=t0处给样本点赋值为1/dt end主函数>> [y,t]=dirac(-1,5,0);>> stairs(t,y);>> axis([-1,5,0,1.2/0.001])>> title('单位冲击信号')分析:由于理想的单位冲击函数在Matlab 中不能实际给出,于是就在t0附近取一个很小的区间dt ,在这个区间中,函数可以认为是一个宽度很窄的门函数,幅值为1/dt ,以满足冲击函数定义要求(2)()t εFunction-M 文件function f=heaviside(t,t0)%f=heaviside(t-t0)f=(t-t0>0); %t>t0时f 为1,否则为0end主程序>> t=-1:0.001:5; %时间区间定义>> t0=0; %函数向右位移距离>> f=heaviside(t,t0);%生成向右位移t0的阶跃信号>> plot(t,f)>> axis([-1,3,-0.2,1.2])分析:在新版的Matlab 函数库中有自带的阶跃函数,调用方法为f=heaviside(t),这里为了方便画位移后0()t t ε-的图像,故自定义了一个阶跃函数。

(3)指数①a=1;>> f=sym('exp(t)');>> ezplot(f,[-3,3])>> xlabel('时间t')>> ylabel('函数f (x )')②a=-1;f=sym('exp((-1)*t)');>> ezplot(f,[-3,3])>> xlabel('时间t')>> ylabel('函数f (x )')图a )a=1时的指数信号图像 图b )a=-1时的指数函数图像 分析:y=sym (‘f (x )’)是用了符号运算法(4)(),5N R t N =>> t=-1:0.001:10;>> y=heaviside(t,0)-heaviside(t,5);>> plot(t,y) >> axis([0,10,-0.2,1.2])分析:采用两个跳变点不等的阶跃函数相减得到一个矩形函数的方法生成的门函数。

(5)()Sa t ω>>f=sym('sin(t)/t');>> ezplot(f,[-30,30]) >> axis([-30,30,-0.4,1.2])分析:为了方便编程画图,这里直接采用了符号运算法(6)正弦函数f=sym('sin(2*pi*t)');ezplot(f,[-1,1])再分别令w=4*pi 、6*pi 得到后面两个图像图a )w=2*pi 图b )w=4*pi 图c )w=6*pi实验二:离散时间信号的表示及可视化(1)()n δFounction-M 文件function [f,k] = dwxulie(k1,k2,k0)k=k1:k2;n=length(k);f=zeros(1,n);f(1,k0-k1+1)=1;end主程序>> [y,k]=dwxulie(-5,5,0);>> stem(k,y,'filled')>> axis([-5,5,0,1.5])>> title('单位序列')(2)()nFounction-M 文件function [ y,k] = jyxulie( k1,k2,k0 )for i=1:k2-k1+1;if i<k0-k1+1;y(i)=0;elsey(i)=1;endendend主程序>> y=jyxulie(-5,5,0);>> stem(k,y,'filled') >> axis([-5,5,0,1.5])(3)指数序列Founction-M 文件function [ y,k ] = expxulie( k1,k2,a )%y=exp(a*n),k1<n<k2k=k1:k2;for i=1:k2-k1+1;y(i)=exp(a*(k1+i-1));endend主程序[y1,k]=expxulie(-2,2,1);>> [y2,k]=expxulie(-2,2,2);>> [y3,k]=expxulie(-2,2,-1);>> [y4,k]=expxulie(-2,2,-2);>> stem(k,y1)>> hold on>> stem(k,y2,'rd')>> stem(k,y3,'g')>> stem(k,y4,'y') >> axis([-2.5,2.5,0,60])蓝色--a=1,红色--a=2,绿色--a=-1,黄色--a=-2(4)()N R n>> k1=-1;k2=12;>> y1=jyxulie(k1,k2,0)-jyxulie(k1,k2,3); %y1=R3(n)>> y2=jyxulie(k1,k2,0)-jyxulie(k1,k2,6); %y2=R6(n)>> y3=jyxulie(k1,k2,0)-jyxulie(k1,k2,9); %y2=R9(n)>> k=k1:k2;>> subplot(3,1,1)>> stem(k,y1,'filled')>>axis([-2,13,0,1.5])>> subplot(3,1,2)>> stem(k,y2,'filled')>>axis([-2,13,0,1.5])>> subplot(3,1,3)>> stem(k,y3,'filled')>>axis([-2,13,0,1.5])(5)()Sa nFounction-M 文件function [ y,k ] = Saxulie( k1,k2,w )k=k1:k2;for i=1:k2-k1+1;if (i+k1-1)==0y(i)=1;elsey(i)=sin(w*(i+k1-1))/(w*(i+k1-1));endend主程序[y1,k]=Saxulie(-10,10,1); %w=1>> [y2,k]=Saxulie(-10,10,2); %w=2>> [y3,k]=Saxulie(-10,10,4); %w=4>> subplot(3,1,1)>>stem(k,y1,'filled')>>subplot(3,1,2)>>stem(k,y2,'filled')>>subplot(3,1,3) >>stem(k,y3,'filled')(6)正弦序列>> y1=sin(pi*k/4); %w=pi/4>> y2=sin(pi*k/3); %w=pi/3>> y3=sin(pi*k/2); %w=pi/2>> y4=sin(2*pi*k/3); %w=2*pi/3>> subplot(4,1,1)>> stem(k,y1,'filled')>> subplot(4,1,2)>> stem(k,y2,'filled')>> subplot(4,1,3)>> stem(k,y3,'filled')>> subplot(4,1,4)>> stem(k,y4,'filled')实验三:系统的时域求解1.1. 设h(n)=(0.9)n ×u(n), x(n)=u(n)−u(n-10),求:y(n)=x(n) * h(n),并画出x(n)、h(n) 、y(n)波形。

>> k=0:100;>> h=0.9.^k;>> x=jyxulie(0,100,0)-jyxulie(0,100,10);>> y=conv(h,x);>> stem(k,h)>> stem(k,x)>> n=0:200;>> stem(n,y,'filled')>> axis([0,50,0,7]) %取前50个进行分析h(n)的图像x(n)的图像2.2. 求因果线性移不变系统y(n) = 0.81y(n −2)+ x(n)−x(n−2)的单位抽样响应h(n) ,并绘出H e (jω) 的幅频及相频特性曲线。

>> A=[1 0 -0.81];>> B=[1 0 -1];>> [x,t]=dwxulie(0,20,0);>> h=filter(B,A,x);>> stem(t,h,'filled')>> H=freqz(B,A,21); %N取21>> [H,w]=freqz(B,A,21); %N取21>> Hf=abs(H);Hx=angle(H);>> figure(1)>> stem(w,Hf)>> figure(2)>> stem(w,Hx)h(n)图像幅频特性相频特性实验四:对离散信号进行DFT分析计算余弦序列x(n)=cos(nπ/8)RN(n)的DFT(1)N=10时,N=10; %设定常量Nn=[0:N-1]; %通过矩阵给n赋值以代替门函数的作用x=cos((pi/8).*n); %余弦序列的函数表达式y=fft(x); %求余弦序列的DFTsubplot(2,1,1),stem(n,y,’py’) %绘制y的离散图subplot(2,1,2),stem(n,abs(y),’py’) %绘制函数y的幅频特性曲线(2)N=16时N=16; %设定N值n=[0:N-1]; %通过矩阵形式给n赋值以代替门函数的作用x=cos((pi/8).*n); %余弦函数y=fft(x); %离散序列的傅立叶变换subplot(2,1,1),stem(n,y,’py’)subplot(2,1,2),stem(n,abs(y),’py’) %绘制X(ejω)的幅频特性曲线响应(3)N=22时N=22;n=[0:N-1]; %通过矩阵形式给n赋值以代替门函数的作用x=cos((pi./8)*n); %余弦函数y=fft(x); %离散序列的傅立叶变换subplot(2,1,1),stem(n,y,’py‘)subplot(2,1,2),stem(n,abs(y),’py’)N=10N=16N=22分析: 由上面3幅图可以看出,当N=10和N=22时,离散傅里叶变换函数值变化趋于平缓,均呈现两边高中间低的趋势,且22点比10点取值点多,更接近真实情况。

相关主题