matlab信号与系统实验报告.docx
- 文档编号:24825462
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:19
- 大小:110.40KB
matlab信号与系统实验报告.docx
《matlab信号与系统实验报告.docx》由会员分享,可在线阅读,更多相关《matlab信号与系统实验报告.docx(19页珍藏版)》请在冰豆网上搜索。
matlab信号与系统实验报告
实验一基本信号的产生与运算
一、实验目的
学习使用MATLAB产生基本信号、绘制信号波形、实现信号的基本运算。
二、实验原理
MATLAB提供了许多函数用于产生常用的基本信号:
如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等等。
这些信号是信号处理的基础。
1、利用MATLAB产生下列连续信号并作图。
(1)
(2)
(3)
(4)
答:
(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)
(2)
,
答:
(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、已知序列:
,
,计算离散卷积
,并绘出其波形。
答:
>>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、两个连续信号的卷积定义是什么?
两个序列的卷积定义是什么?
卷积的作用是什么?
答:
连续信号的卷积的定义:
序列的卷积定义:
。
利用作图法即将其中一个信号图翻转,平移,两信号相乘,再相加。
傅立叶变换的卷积性质涵盖着时域相乘、频域卷积、频域相乘,时域卷积的对偶关系。
前者若代表两个信号相乘,则因发生调制作用,在频域一定出现频谱搬家(频移)。
后者若一个是信号,另一个代表系统,则系统起着加工处理的滤波作用。
任何信号与冲激函数相卷积,其结果是在冲激出现的时刻(位置)再生原信号。
卷积在实际中的应用有实现幅度调制与解调,实现多路频分复用,实现单边带调幅(SSB-AM)。
2、什么是单位冲激信号
?
能够用MATLAB产生单位冲激信号吗?
答:
出现过程极短,能量极大的信号为冲激信号
,其定义式为:
=0,t
;上式表明,在t=0无定义,因为不能作为数学函数的取值。
而且表示
与时间覆盖的面积或称
的强度始终等于1。
因为
属于奇异函数一类的信号,能量无限大,用MATLAB不能产生该信号.函数ones(1,n)可以生成单位脉冲序列。
3、产生连续信号时,首先要定义时间向量t=0:
T:
Tp。
其中T和Tp是什么意思?
答:
每两点之间的时间间隔为T,即步长为T。
连续信号的时间从0到Tp。
实验二利用DFT分析离散信号频谱
一、实验目的
应用离散傅里叶变换(DFT),分析离散信号的频谱。
深刻理解DFT分析离散信号频谱的原理,掌握改善分析过程中产生的误差的方法。
二、实验原理
根据信号傅里叶变换建立的时域与频域之间的对应关系,可以得到有限长序列的离散傅里叶变换(DFT)与四种确定信号傅里叶变换之间的关系(见教材),实现由DFT分析其频谱。
三、实验内容
1.利用FFT分析信号
的频谱;
(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。
截取信号长度不当,会产生功率泄露,对周期序列进行频谱分析时,为避免泄露应做到:
截取的长度应取一个基本周期或基本周期的整数倍,若待分析的周期信号事先不知道其确切的周期,则可截取较长时间长度的样点进行分析,以减少功率泄露误差。
当然,必须在取样频率满足取样定理的条件下进行,否则混叠与泄露同时存在给频谱分析造成困难。
本题
为周期信号,无直流分量,所以取样点数可为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τ条件下,能够从样点集合完全恢复原来信号的频谱。
2.利用FFT分析信号
的频谱;
(1)确定DFT计算的参数;当n取30时
n=0:
30;x=(0.8).^n;subplot(2,1,1);
stem(n,x);title('朱艺星杨婕婕');
subplot(2,1,2);w=n-15;plot(w,abs(fftshift(fft(x))));
附:
当n取60时
n=0:
60;x=(0.8).^n;subplot(2,1,1);stem(n,x);
title('朱艺星杨婕婕');subplot(2,1,2);
w=n-15;plot(w,abs(fftshift(fft(x))));
(2)进行理论值与计算值比较,讨论信号频谱分析过程中误差原因及改善方法。
答:
信号
为离散非周期信号,且为无限长的信号。
根据理论分析,一个时间有限的信号其频谱宽度为无限,一个时间无限的信号其频带宽度则为有限,因此,对一个时间有限的信号,应用DFT进行分析,频谱混叠难以避免。
对一个时间无限的信号虽然频带有限,但在时间运算中,时间长度总是取有限值,所以频谱泄露难以避免。
当原始信号事有限长,截取的长度等于原始信号的长度,则可以不考虑泄露的影响。
当原始的非周期信号为无限长或比较长,而截取的长度有限或不等于原始信号的长度,则需考虑频谱泄露引起的不良影响。
为了减少泄露的影响,一般可适当增加长度To,也可以通过试探法,先取长度N1(To=N1*T),然后取N2=2*N1,进行运算。
若两者计算的结果很接近,则可取N1作为截取长度,否则继续去N3=2*N2,直至相邻两个长度的计算结果相近,取长度较小的N为好。
本题中,因为信号
为离散非周期信号,且为无限长的信号,用试探法:
取n为30和60,进行比较,发现两者的频谱基本相似,所以取n为30较好。
因为n取过大,fs提高,要求存贮单元增加,硬件速度提高,其结果势必在经济上和技术上带来新的问题。
3.有限长脉冲序列
,利用FFT分析其频谱。
N=6;n=0:
N-1;x=[2,3,3,1,0,5];
subplot(3,1,1);stem(n,x);title('朱艺星杨婕婕');
subplot(3,1,2);w=n;plot(w,abs(fftshift(fft(x))));
subplot(3,1,3);plot(w,angle(fftshift(fft(x))));
4.(选做题)某离散序列
利用FFT分析其频谱。
(1)对
做N=64点FFT,绘出信号的频谱,能够分辨出其中的两个频率吗?
假设x(n)是由连续信号
以fs=15Hz进行取样得来的,则△f=(2.3-2)π/2π=0.15Hz,根据公式:
N≥fs/△f得N最小应该为100.若取N=64,则不能分辨其中的两个频率。
N=64;n=0:
N-1;
x=cos(pi*2/15*n)+0.75*cos(2.3*pi/15*n);
X=fft(x,N);
subplot(2,1,1);
stem(n,abs(fftshift(X)));
title('朱艺星杨婕婕');
ylabel('Magnitude');
xlabel('Frequency(rad)');
subplot(2,1,2);
stem(n,angle(fftshift(X)));
ylabel('Phase');
xlabel('Frequency(rad)')
(2)对
补零到N=256点后计算FFT,能够分辨出其中的两个频率吗?
时域补零的结果L的数量增加到256,原本的频域N为64,因为L要小于等于N,所以此时的N要扩大为256,致使频域的样点数也增加,所以此时采取时域补零的方法能提高频率分辨力。
但如果是在时域补零法得到的L的个数仍小于频域样点数N,则时域补零法并没有增加信息量,增加后但在频域的N并没有变化,所以采取时域补零的方法不能提高频率分辨力,因为分辨力主要取决于频域样点数N的变化。
N=64;n=0:
N-1;
y=cos(pi*2/15*n)+0.75*cos(2.3*pi/15*n);
x=[y,zeros(1,256-64)];M=256;
X=fft(x,M);
subplot(2,1,1);
stem(0:
M-1,abs(fftshift(X)));
title('朱艺星杨婕婕');
ylabel('Magnitude');
xlabel('Frequency(rad)');
subplot(2,1,2);
stem(0:
M-1,angle(fftshift(X)));
ylabel('Phase');
xlabel('Frequency(rad)');
(3)若不能够很好地分辨出其中的两个频率,应采用哪些措施?
答:
可以提高取样频率,增加频域的取样点数。
当然,如果在T不变条件下,真正增加时域取样长度L,使提供所载荷的信息量增加,功率泄露减少,也会在一定程度上改善频率分辨力,但这不是通过补零使时域长度延长的结果,因为补零不增加信息量。
四、实验思考题
1.既然可直接由DTFT定义计算序列DTFT,为何利用DFT分析序列的频谱?
答:
通过DFT可以求出确定性信号相应的离散频谱或频谱的样值,变换到有限频谱序列,这样就可以用计算机实现对信号进行分析,数字化计算速度快,故提出了DFT来分析序列的频谱
2.若序列持续时间无限长,且无解析表达式,如何利用DFT分析其频谱?
答:
当原始的非周期信号为无限长或比较长,可截取一段时间内的序列值,长度为L,作N点的DFT变换,N
L。
而截取的长度有限或不等于原始信号的长度,则需考虑频谱泄露引起的不良影响。
为了减少泄露的影响,一般可适当增加长度To,也可以通过试探法,先取长度L1(To=L1*T),然后取L2=2*L1,进行运算。
若两者计算的结果很接近,则可取N1作为截取长度,否则继续去L3=2*L2,直至相邻两个长度的计算结果相近,取长度较小的L为好。
再从L点有限长序列x(n)相应的频谱X(Ω)中,在主周期[-π,π]内对X(Ω)进行离散化,随即得到N个频谱样点用公式可表示为
3.序列补零和增加序列长度到可以提高频谱分辨率吗?
两者有何本质区别?
答:
如果采取时域补零法得到的L的个数仍小于频域样点数N,则时域补零法并没有增加信息量,增加后但在频域的N并没有变化,所以采取时域补零的方法不能提高频率分辨力,因为分辨力主要取决于频域样点数N的变化。
但如果是补零后的时域序列个数增加到L2,且L2个数大于频域样点数N,因为要满足N大于等于L,则现在会使频域样点数也随之增加,所以此时采取时域补零的方法能提高频率分辨力。
如果在T不变条件下,真正增加时域取样长度L,使提供所载荷的信息量增加,功率泄露减少,也会在一定程度上改善频率分辨力,但这不是通过补零使时域长度延长的结果,因为补零不增加信息量。
实验三离散系统分析
一、实验目的
深刻理解离散时间系统的系统函数在分析系统时域特性、频域特性及稳定性中的重要作用及意义,掌握根据系统函数的零极点设计简单的滤波器的方法。
熟练掌握利用MATLAB分析离散系统的响应求解、频响特性和零极点的方法。
二、实验原理
MATLAB提供了许多可用于分析线性非时变离散系统的函数,主要包括有系数函数、系统时域响应、系统频域响应等分析函数。
二、实验内容
1.已知某离散LTI系统的差分方程为
(1)初始状态
,输入
,计算系统的完全响应;
N=100;
b=[0.0675,0.1349,0.0675];
a=[1,-1.143,0.4128];
x=ones(1,N);
y=filtic(b,a,[1,2]);
y=filter(b,a,x,y);
0.38490.229540.373380.601920.803760.940131.01271.03931.03981.02941.01721.00771.00180.998940.998170.998440.999070.999691.00011.00041.00051.00051.00051.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.00041.0004
(2)当以下3个信号分别通过离散系统时,分别计算离散系统的零状态响应
<1>
N=100;n=0:
N-1;x2=[ones(1,N)];
b=[0.0675,0.1349,0.0675];a=[1,-1.143,0.4128];
x=cos(pi/10*n).*x2;
y=filter(b,a,x);
0.06750.276250.538290.714240.748930.642550.425280.13948-0.17088-0.46591-0.7124-0.88524-0.96815-0.95418-0.84574-0.65415-0.39858-0.104180.200220.484860.721950.888330.967750.952440.843910.652790.397770.10382-0.2003-0.4848-0.72185-0.88824-0.96769-0.95241-0.8439-0.65279-0.39777-0.103820.200290.48480.721850.888240.967690.952410.84390.652790.397770.10382-0.20029-0.4848-0.72185-0.88824-0.96769-0.95241-0.8439-0.65279-0.39777-0.103820.200290.48480.721850.888240.967690.952410.84390.652790.397770.10382-0.20029-0.4848-0.72185-0.88824-0.96769-0.95241-0.8439-0.65279-0.39777-0.103820.200290.48480.721850.888240.967690.952410.84390.652790.397770.10382-0.20029-0.4848-0.72185-0.88824-0.96769-0.95241-0.8439-0.65279-0.39777-0.103820.200290.4848
<2>
N=100;n=0:
N-1;
x2=[ones(1,N)];b=[0.0675,0.1349,0.0675];a=[1,-1.143,0.4128];
x=cos(pi/5*n).*x2;
y=filter(b,a,x);
0.06750.266660.474420.507630.30894-0.053927-0.43329-0.67048-0.66293-0.405520.00764110.420250.674690.673120.41543-0.00051967-0.4162-0.673-0.67287-0.41584-4.622e-0050.415720.672680.67270.415784.9913e-005-0.41569-0.67265-0.67268-0.41577-4.3711e-0050.41570.672650.672680.415774.2691e-005-0.4157-0.67265-0.67268-0.41577-4.2604e-0050.41570.672650.672680.415774.2603e-005-0.4157-0.67265-0.67268-0.41577-4.2604e-0050.41570.672650.672680.415774.2604e-005-0.4157-0.67265-0.67268-0.41577-4.2604e-0050.41570.672650.672680.415774.2604e-005-0.4157-0.67265-0.67268-0.41577-4.2604e-0050.41570.672650.672680.415774.2604e-005-0.4157-0.67265-0.67268-0.41577-4.2604e-0050.41570.672650.672680.415774.2604e-005-0.4157-0.67265-0.67268-0.41577-4.2604e-0050.41570.672650.672680.415774.2604e-005-0.4157-0.67265-0.67268-0.41577
<3>
N=100;n=0:
N-1;
x2=[ones(1,N)];b=[0.0675,0.1349,0.0675];a=[1,-1.143,0.4128];
x=cos(pi*7/10*n).*x2;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 信号 系统 实验 报告