实验一 基本信号的产生与运算一、实验目的学习使用MATLAB 产生基本信号、绘制信号波形、实现信号的基本运算。
二、实验原理MATLAB 提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等等。
这些信号是信号处理的基础。
1、利用MATLAB 产生下列连续信号并作图。
(1)51),1(2)(<<---=t t u t x (2)300),32sin()(3.0<<=-t t e t x t (3)1.01.0,3000cos 100cos )(<<-+=t t t t x (4)2000),8.0cos()1.0cos()(<<=t t t t x ππ 答:(1)、 >> t=-1:0.02:5; >> x=(t>1); >> plot(t,-2*x); >> axis([-1,5,-3,1]); >> title('杨婕婕 朱艺星'); >> xlabel('x(t)=-2u(t-1)');(2)、>> t=0:0.02:30;>> x=exp(-0.3*t).*sin(2/3*t);>> plot(t,x);>> title('杨婕婕朱艺星');>> xlabel('x(t)=exp(-0.3*t).*sin(2/3*t)');因为原函数在t=15后x(t)取值接近于零,所以将横坐标改成0到15,看得更清晰axis([0,15,-0.2,0.6]);(3)>> t=-0.1:0.01:0.1;x=cos(100*t)+cos(3000*t);plot(t,x);>> title('杨婕婕朱艺星');>>xlabel('x=cos(100*t)+cos(3000*t)');因为t的间隔取太大,以至于函数不够准确,缩小t的间隔:t=-0.1:0.002:0.2;x=cos(100*t)+cos(3000*t);plot(t,x);title('杨婕婕')>> t=-0.1:0.0001:0.1;x=cos(100*t)+cos(3000*t);>> plot(t,x);title('杨婕婕朱艺星');>> xlabel('x=cos(100*t)+cos(3000*t)');(4)、t=0:0.01:200;>> x=cos(0.1*pi*t).*cos(0.8*pi*t);>> plot(t,x);>> title('杨婕婕朱艺星');>> xlabel('x=cos(0.1*pi*t).*cos(0.8*pi*t)');因为为周期函数,可以将横坐标t间隔扩大以便于观察图像>> axis([0,30,-1,1]);2、利用MATLAB 产生下列离散序列并作图。
(1)⎩⎨⎧≤≤-=,055,1)(n n x 1515≤<-n(2))]25.0cos()25.0[sin()9.0()(n n n x n ππ+=,2020≤<-n 答:(1)、k=-15:15;x=[zeros(1,10),ones(1,11),zeros(1,10)];stem(k,x)axis([-15,15,-0.2,1.2]); title('杨婕婕 朱艺星');xlabel('x(n)');(2)、k=-20:20;x=(0.9).^k.*(sin(0.25*pi*k)+cos(0.25*pi*k));stem(k,x);title('杨婕婕朱艺星');xlabel(' x=(0.9)^k*(sin(0.25*pi*k)+cos(0.25*pi*k))');将横坐标变小以便于观察 >> axis([-20,10,-12,8]);3、已知序列:]2,3,1,0,2,1[)(-=↑n x ,]1,1,1[)(-=↑n h ,计算离散卷积)()()(n h n x n y *=,并绘出其波形。
答:>> x=[1,2,0,-1,3,2]; >> h=[1,-1,1]; >> y=conv(x,h);>> stem([-2:length(y)-3],y); >> ylabel('y[k]');xlabel('k'); >> title('杨婕婕 朱艺星');三、实验思考题1、两个连续信号的卷积定义是什么?两个序列的卷积定义是什么?卷积的作用是什么?答:连续信号的卷积的定义:⎰∞∞--τττd t y x )()(序列的卷积定义:∑=-0)()(m m n y m x 。
利用作图法即将其中一个信号图翻转,平移,两信号相乘,再相加。
傅立叶变换的卷积性质涵盖着时域相乘、频域卷积、频域相乘,时域卷积的对偶关系。
前者若代表两个信号相乘,则因发生调制作用,在频域一定出现频谱搬家(频移)。
后者若一个是信号,另一个代表系统,则系统起着加工处理的滤波作用。
任何信号与冲激函数相卷积,其结果是在冲激出现的时刻(位置)再生原信号。
卷积在实际中的应用有实现幅度调制与解调,实现多路频分复用,实现单边带调幅(SSB-AM )。
2、什么是单位冲激信号)(t δ?能够用MATLAB 产生单位冲激信号吗? 答:出现过程极短,能量极大的信号为冲激信号)(t δ,其定义式为:)(t δ=0,t 0≠ ⎰∞∞-=1)(dt t δ;上式表明,在t=0无定义,因为不能作为数学函数的取值。
而且表示)(t δ与时间覆盖的面积或称)(t δ的强度始终等于1。
因为)(t δ属于奇异函数一类的信号,能量无限大,用MATLAB 不能产生该信号.函数ones(1,n)可以生成单位脉冲序列。
3、产生连续信号时,首先要定义时间向量t=0:T :Tp 。
其中T 和Tp 是什么意思?答:每两点之间的时间间隔为T ,即步长为T 。
连续信号的时间从0到Tp 。
实验二 利用DFT 分析离散信号频谱一、 实验目的应用离散傅里叶变换(DFT ),分析离散信号的频谱。
深刻理解DFT 分析离散信号频谱的原理,掌握改善分析过程中产生的误差的方法。
二、 实验原理根据信号傅里叶变换建立的时域与频域之间的对应关系,可以得到有限长序列的离散傅里叶变换(DFT )与四种确定信号傅里叶变换之间的关系(见教材),实现由DFT 分析其频谱。
三、 实验内容1. 利用FFT 分析信号31,...,1,0),83cos()(==n n n x π的频谱;(1)、确定DFT 计算的参数;本题中Ω/2π=3/16,则周期N=16,因为本题信号无直流分量,所以取样点数可为2*N=32,但必须保证都是独立的样点。
N=32;n=0:N-1;x=cos(3*pi/8*n);X=fft(x,N);subplot(2,1,1);stem(n,abs(fftshift(X)));ylabel('Magnitude');xlabel('Frequency (rad)');title('朱艺星 杨婕婕'); subplot(2,1,2);stem(n,angle(fftshift(X)));ylabel('Phase');xlabel('Frequency(rad)');附:另取N=16时:N=16;n=0:N-1;x=cos(3*pi/8*n);X=fft(x,N);subplot(2,1,1);stem(n-N/2,abs(fftshift(X))); ylabel('Magnitude');xlabel('Frequency (rad)'); title('朱艺星杨婕婕'); subplot(2,1,2);stem(n-N/2,angle(fftshift(X))); ylabel('Phase');xlabel('Frequency(rad)');附:N取64时;N=64;n=0:N-1;x=cos(3*pi/8*n);X=fft(x,N);subplot(2,1,1);stem(n,abs(fftshift(X)));ylabel('Magnitude');xlabel('Frequency (rad)');title('朱艺星杨婕婕'); subplot(2,1,2);stem(n,angle(fftshift(X)));ylabel('Phase');xlabel('Frequency(rad)');(2)进行理论值与计算值比较,讨论信号频谱分析过程中误差原因及改善方法。
答:在频谱分析过程中由于取样频率过低或者由于信号的截取长度不当将会产生误差。
取样频率过低,可能会产生混频现象,可以适当提高取样率,增加样点数,来减少混叠对频谱分析所造成的误差。
对于连续周期信号,其时域取样必须满足时域取样定理:其取样点数K≥2*N+1(其中N为最高谐波分量),即kfo ≥2Nfo+fo;fs≥2fm+fo。
截取信号长度不当,会产生功率泄露,对周期序列进行频谱分析时,为避免泄露应做到:截取的长度应取一个基本周期或基本周期的整数倍,若待分析的周期信号事先不知道其确切的周期,则可截取较长时间长度的样点进行分析,以减少功率泄露误差。
当然,必须在取样频率满足取样定理的条件下进行,否则混叠与泄露同时存在给频谱分析造成困难。
本题)83cos()(n n x π=为周期信号,无直流分量,所以取样点数可为2*N=32,但必须保证都是独立的样点。
从取样点数N=32和N=16可以看出,取样点数的不同,会造成频率谱和相位谱的不同。
当N=16时,n=3或-3时有幅度值,而在N=32时,n=-10和22时有幅度值,在N=64时,n=-20和44时有幅度值,得到在N=32时,其频谱已经和N=64时一致(刚好成2倍关系),且N=16时已经产生混频现象。
综上得,本题取样点数可为32. 附:对于非周期连续信号,时域取样定理:fs ≥2fm.频域取样定理:一个时间受限的信号其长度为2τ在频域取样间隔Fo<1/2τ条件下,能够从样点集合完全恢复原来信号的频谱。