数字信号处理实验1认识实验
数字信号处理实验报告
实验一 信号、系统及系统响应一、实验目的1、熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对时域采样定理的理解。
2、熟悉离散信号和系统的时域特性。
3、熟悉线性卷积的计算编程方法:利用卷积的方法,观察、分析系统响应的时域特性。
4、掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对离散信号、系统及其系统响应进行频域分析。
二、 实验原理1.理想采样序列:对信号x a (t)=A e −αt sin(Ω0t )u(t)进行理想采样,可以得到一个理想的采样信号序列x a (t)=A e −αt sin(Ω0nT ),0≤n ≤50,其中A 为幅度因子,α是衰减因子,Ω0是频率,T 是采样周期。
2.对一个连续时间信号x a (t)进行理想采样可以表示为该信号与一个周期冲激脉冲的乘积,即x ̂a (t)= x a (t)M(t),其中x ̂a (t)是连续信号x a (t)的理想采样;M(t)是周期冲激M(t)=∑δ+∞−∞(t-nT)=1T ∑e jm Ωs t +∞−∞,其中T 为采样周期,Ωs =2π/T 是采样角频率。
信号理想采样的傅里叶变换为X ̂a (j Ω)=1T ∑X a +∞−∞[j(Ω−k Ωs )],由此式可知:信号理想采样后的频谱是原信号频谱的周期延拓,其延拓周期为Ωs =2π/T 。
根据时域采样定理,如果原信号是带限信号,且采样频率高于原信号最高频率分量的2倍,则采样以后不会发生频率混叠现象。
三、简明步骤产生理想采样信号序列x a (n),使A=444.128,α=50√2π,Ω0=50√2π。
(1) 首先选用采样频率为1000HZ ,T=1/1000,观察所得理想采样信号的幅频特性,在折叠频率以内和给定的理想幅频特性无明显差异,并做记录;(2) 改变采样频率为300HZ ,T=1/300,观察所得到的频谱特性曲线的变化,并做记录;(3) 进一步减小采样频率为200HZ ,T=1/200,观察频谱混淆现象是否明显存在,说明原因,并记录这时候的幅频特性曲线。
数字信号处理实验一实验报告
实验一离散时间信号与系统时域分析一、实验目的1、学习MATLAB语言编程和调试技巧。
2、学会简单的矩阵输入和图形表示法3、掌握简单的绘图命令。
二、实验原理本实验主要为了熟悉MATLAB环境,重点掌握简单的矩阵(信号)输入和绘图命令,特别是绘图命令stem()和plot()。
实验内容中涉及到信号的无失真采样、离散卷积运算和差分方程求解这三个主要的问题。
其基本原理分别如下:对一个模拟信号x(t)进行采样离散化x(n),为了不失真地从采样信号x(n)中恢复原始信号x(t),采样时必须满足采样定理,即采样频率必须大于等于模拟信号中最高频率分量的2备。
一个离散时间系统,输入信号为x(n),输出信号为y(n),运算关系用T【.】表示,则输入与输出的关系可表示为y(n)=T[x(n)]。
三、实验结果实验一x=[3 1 2 0 -4 2 -3];n=-3:1:3;stem(n,x);xlabel('n');ylabel('x(n)');axis([-4 4 -5 5]);grid;n x (n )实验二n=0:9;x=0.5.^n;stem(n,x);xlabel('n');ylabel('x(n)');grid;n x (n )实验三x=[-2 0 1 -1 3];h=[1 2 0 -1];c=conv(x,h);M=length(c)-1;n=0:1:M;stem(n,c);xlabel('n');ylabel('幅度’);n 幅度实验四t=0:1/256:2;x=3*cos(2*pi*t)-2*cos(6*pi*t)+cos(10*pi*t); plot(t,x);grid;实验五T=0.2;t=0:T:2;x=3*cos(2*pi*t)-2*cos(6*pi*t)+cos(10*pi*t); stem(t,x);grid;实验六N=41;a=[0.8 -0.44 0.36 0.22];b=[1 0.7 -0.45 -0.6];x=[1 zeros(1,N-1)];n=0:1:N-1;y=filter(a,b,x);stem(n,y);xlabel('n');ylabel('幅度');n 幅度实验七n=0:1:40;x=[5+3*cos(0.2*pi*n)+4*sin(0.6*pi*n)]; plot(n,x);N=41;a=[0.8 -0.44 0.36 0.22];b=[1 0.7 -0.45 -0.6];x=[5+3*cos(0.2*pi*n)+4*sin(0.6*pi*n)]; n=0:1:40;y=filter(a,b,x);stem(n,y);xlabel('n');ylabel('幅度 ');n 幅度。
数字信号处理实验报告
数字信号处理实验报告引言数字信号处理(Digital Signal Processing,DSP)是一门研究数字信号的获取、分析、处理和控制的学科。
在现代科技发展中,数字信号处理在通信、图像处理、音频处理等领域起着重要的作用。
本次实验旨在通过实际操作,深入了解数字信号处理的基本原理和实践技巧。
实验一:离散时间信号的生成与显示在实验开始之前,我们首先需要了解信号的生成与显示方法。
通过数字信号处理器(Digital Signal Processor,DSP)可以轻松生成和显示各种类型的离散时间信号。
实验设置如下:1. 设置采样频率为8kHz。
2. 生成一个正弦信号:频率为1kHz,振幅为1。
3. 生成一个方波信号:频率为1kHz,振幅为1。
4. 将生成的信号通过DAC(Digital-to-Analog Converter)输出到示波器上进行显示。
实验结果如下图所示:(插入示波器显示的正弦信号和方波信号的图片)实验分析:通过示波器的显示结果可以看出,正弦信号在时域上呈现周期性的波形,而方波信号则具有稳定的上下跳变。
这体现了正弦信号和方波信号在时域上的不同特征。
实验二:信号的采样和重构在数字信号处理中,信号的采样是将连续时间信号转化为离散时间信号的过程,信号的重构则是将离散时间信号还原为连续时间信号的过程。
在实际应用中,信号的采样和重构对信号处理的准确性至关重要。
实验设置如下:1. 生成一个正弦信号:频率为1kHz,振幅为1。
2. 设置采样频率为8kHz。
3. 对正弦信号进行采样,得到离散时间信号。
4. 对离散时间信号进行重构,得到连续时间信号。
5. 将重构的信号通过DAC输出到示波器上进行显示。
实验结果如下图所示:(插入示波器显示的连续时间信号和重构信号的图片)实验分析:通过示波器的显示结果可以看出,重构的信号与原信号非常接近,并且能够还原出原信号的形状和特征。
这说明信号的采样和重构方法对于信号处理的准确性有着重要影响。
数字信号处理实验实验一
数字信号处理实验报告实验名称:离散时间系统的时域特性分析学生姓名:z学生学号:学生班级:上课时间:周二上午指导老师:一、实验目的线性时不变离散时间系统在时域中可以通过常系数线性差分方程来描述,冲激响应序列可以刻画其时域特性。
本实验通过使用MATLAB函数研究离散时间系统的时域特性,以加深对离散时间系统的差分方程、冲激响应和系统的线性和时不变特性的理解。
二、实验原理1.线性系统满足叠加原理的系统称为线性系统,即若某一输入是由N个信号的加权和组成的,则输出就是系统对这几个信号中每一个输入的响应的加权和。
即:如果系统在x1(n)和x2(n)输入时对应的输出分别为y1(n)和y2(n),当对任意常数a1和a2,式T[a1x1(n)+a2x2(n)]=a1T[x1(n)]+a2[x2(n)]=a1y1(n)+a2y2(n)成立,则该系统是线性系统。
2.时不变系统若输入x(n)的输出为y(n),则将输入序列移动任意位后,其输出序列除了跟着位移外,数值应保持不变。
即:当T[x(n)]=y(n),满足T[x(n-m)]=y(n-m) (m为任意整数)时,则该系统就称为时不变系统。
3.常系数线性差分方程线性时不变离散系统的输入、输出关系可以用以下常系数线性差分描述: y(n)=- ∑aky(n-k)+ ∑brx(n-r)当输入x(n)为单位冲激序列时,输出y(n)即为系统的单位冲击响应h(n)。
三、实验内容考虑如下差分方程描述的两个离散时间系统:系统1:y(n)=0.5x(n)+0.27x(n-1)+0.77x(n-2)系统2:y(n)=0.45x(n)+0.5x(n-1)+0.45x(n-2)+0.53y(n-1)-0.46y(n-2)输入想x(n)=cos(20n/256)+cos(200n/256)(1)编程求上述两个系统的输出,并分别画出系统的输入与输出波形。
(2)编程求上述两个系统的冲激响应序列,并画出其波形。
数字信号处理实验报告_完整版
实验1 利用DFT 分析信号频谱一、实验目的1.加深对DFT 原理的理解。
2.应用DFT 分析信号的频谱。
3.深刻理解利用DFT 分析信号频谱的原理,分析实现过程中出现的现象及解决方法。
二、实验设备与环境 计算机、MATLAB 软件环境 三、实验基础理论1.DFT 与DTFT 的关系有限长序列 的离散时间傅里叶变换 在频率区间 的N 个等间隔分布的点 上的N 个取样值可以由下式表示:212/0()|()()01N jkn j Nk N k X e x n eX k k N πωωπ--====≤≤-∑由上式可知,序列 的N 点DFT ,实际上就是 序列的DTFT 在N 个等间隔频率点 上样本 。
2.利用DFT 求DTFT方法1:由恢复出的方法如下:由图2.1所示流程可知:101()()()N j j nkn j nN n n k X e x n eX k W e N ωωω∞∞----=-∞=-∞=⎡⎤==⎢⎥⎣⎦∑∑∑ 由上式可以得到:IDFTDTFT( )12()()()Nj k kX e X k Nωπφω==-∑ 其中为内插函数12sin(/2)()sin(/2)N j N x eN ωωφω--= 方法2:实际在MATLAB 计算中,上述插值运算不见得是最好的办法。
由于DFT 是DTFT 的取样值,其相邻两个频率样本点的间距为2π/N ,所以如果我们增加数据的长度N ,使得到的DFT 谱线就更加精细,其包络就越接近DTFT 的结果,这样就可以利用DFT 计算DTFT 。
如果没有更多的数据,可以通过补零来增加数据长度。
3.利用DFT 分析连续信号的频谱采用计算机分析连续时间信号的频谱,第一步就是把连续信号离散化,这里需要进行两个操作:一是采样,二是截断。
对于连续时间非周期信号,按采样间隔T 进行采样,阶段长度M ,那么:1()()()M j tj nT a a a n X j x t edt T x nT e ∞--Ω-Ω=-∞Ω==∑⎰对进行N 点频域采样,得到2120()|()()M jkn Na a M kn NTX j T x nT eTX k ππ--Ω==Ω==∑因此,可以将利用DFT 分析连续非周期信号频谱的步骤归纳如下: (1)确定时域采样间隔T ,得到离散序列(2)确定截取长度M ,得到M 点离散序列,这里为窗函数。
数字信号处理实验报告
数字信号处理实验报告实验一:频谱分析与采样定理一、实验目的1.观察模拟信号经理想采样后的频谱变化关系。
2.验证采样定理,观察欠采样时产生的频谱混叠现象3.加深对DFT算法原理和基本性质的理解4.熟悉FFT算法原理和FFT的应用二、实验原理根据采样定理,对给定信号确定采样频率,观察信号的频谱三、实验内容和步骤实验内容(1)在给定信号为:1.x(t)=cos(100*π*at)2.x(t)=exp(-at)3.x(t)=exp(-at)cos(100*π*at)其中a为实验者的学号,用DFT分析上述各信号的频谱结构,选取不同的采样频率和截取长度,试分析频谱发生的变化。
实验内容(2)设x(n)=cos(0.48*π*n)+ cos(0.52*π*n),对其进行以下频谱分析:10点DFT,64点DFT,及在10点序列后补零至64点的DFT 试分析这三种频谱的特点。
四、实验步骤1.复习采样理论、DFT的定义、性质和用DFT作谱分析的有关内容。
2.复习FFT算法原理和基本思想。
3.确定实验给定信号的采样频率,编制对采样后信号进行频谱分析的程序五、实验程序和结果实验1内容(1)N=L/T+1;t=0:T:L;a=48;D1=2*pi/(N*T); % 求出频率分辨率k1=floor((-(N-1)/2):((N-1)/2)); % 求对称于零频率的FFT位置向量%%%%%%%%%%%%%%%%%%%%%%%%%figure(1),x1=cos(100*pi*a*t);y1=T*fftshift(fft(x1));%虽然原来是周期信号,但做了截断后,仍可当作非周期信号。
subplot(2,1,1),plot(t,x1);title('正弦信号');subplot(2,1,2),plot(k1*D1,abs(y1));title('正弦信号频谱'); %%%%%%%%%%%%%%%%%%%%% figure(2), x2=exp(-a*t);y2=T*fftshift(fft(x2));%有限长(长度为N)离散时间信号x1的dft 再乘T 来近似模拟信号的频谱,长度为Nsubplot(2,1,1),plot(t,x2);title('指数信号');subplot(2,1,2),plot(k1*D1,abs(y2));title('指数信号频谱'); %%%%%%%%%%%%%%%%%%%%% figure(3), x3=x1.*x2;y3=T*fftshift(fft(x3))subplot(2,1,1),plot(t,x3);title('两信号相乘');subplot(2,1,2),plot(k1*D1,abs(y3));title('两信号相乘频谱');0.020.040.060.080.10.120.140.16-1-0.500.51正弦信号-4000-3000-2000-10000100020003000400000.020.040.06正弦信号频谱00.020.040.060.080.10.120.140.160.51-4000-3000-2000-10000100020003000400000.010.020.03指数信号频谱0.020.040.060.080.10.120.140.16-1-0.500.51两信号相乘-4000-3000-2000-10000100020003000400000.0050.010.015两信号相乘频谱T=0.0005 L=0.150.020.040.060.080.10.120.140.16-1-0.500.51-8000-6000-4000-2000200040006000800000.020.040.060.08正弦信号频谱00.020.040.060.080.10.120.140.160.51指数信号-8000-6000-4000-20000200040006000800000.010.020.03指数信号频谱0.020.040.060.080.10.120.140.16-1-0.500.51-8000-6000-4000-20000200040006000800000.0050.010.015两信号相乘频谱T=0.002 L=0.150.020.040.060.080.10.120.140.16-1-0.500.51正弦信号-2000-1500-1000-50050010001500200000.020.040.060.08正弦信号频谱00.020.040.060.080.10.120.140.160.51-2000-1500-1000-500050010001500200000.010.020.03指数信号频谱0.020.040.060.080.10.120.140.16-1-0.500.51两信号相乘-2000-1500-1000-500050010001500200000.0050.010.015两信号相乘频谱T=0.001 L=0.180.020.040.060.080.10.120.140.160.18-1-0.500.51-4000-3000-2000-1000100020003000400000.020.040.060.08正弦信号频谱00.020.040.060.080.10.120.140.160.180.51指数信号-4000-3000-2000-10000100020003000400000.010.020.03指数信号频谱0.020.040.060.080.10.120.140.160.18-1-0.500.51-4000-3000-2000-10000100020003000400000.0050.010.015两信号相乘频谱T=0.001 L=0.120.020.040.060.080.10.12-1-0.500.51正弦信号-4000-3000-2000-10000100020003000400000.020.040.06正弦信号频谱00.020.040.060.080.10.120.51-4000-3000-2000-10000100020003000400000.010.020.03指数信号频谱0.020.040.060.080.10.12-1-0.500.51两信号相乘-4000-3000-2000-10000100020003000400000.0050.010.015两信号相乘频谱实验1内容(2)>> N=10;n=1:NT=1x1=cos(0.48*pi*n*T)+cos(0.52*pi*n*T)X1=fft(x1,10)k=1:N;w=2*pi*k/10subplot(3,2,1);stem(n,x1);axis([0,10,-3,3]);title('信号x(n)');subplot(3,2,2);stem(w/pi,abs(X1));axis([0,1,0,10]);title('DFTx(n)');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% N2=100;n2=1:N2T=1x1=cos(0.48*pi*[1:10]*T)+cos(0.52*pi*[1:10]*T)x2=[x1,zeros(1,90)]X2=fft(x2,N2)k2=1:N2;w2=2*pi*k2/100subplot(3,2,3);stem(x2);axis([0,100,-3,3]);title('信号x(n)补零');subplot(3,2,4);plot(w2/pi,abs(X2));axis([0,1,0,10]);title('DFTx(n)');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% N3=100;n3=1:N3T=1x3=cos(0.48*pi*n3*T)+cos(0.52*pi*n3*T)X3=fft(x3,100)k3=1:N3;w3=2*pi*k3/100subplot(3,2,5);stem(n3,x3);axis([0,100,-3,3]);title('信号x(n)');subplot(3,2,6);stem(w3/pi,abs(X3));axis([0,1,0,10]);title('DFTx(n)');n =1 2 3 4 5 6 7 8 9 10 T =1510-202信号x(n)0.510510DFTx(n)50100信号x(n)补零0.510510DFTx(n)50100信号x(n)DFTx(n)实验二 卷积定理一、实验目的通过本实验,验证卷积定理,掌握利用DFT 和FFT 计算线性卷积的方法。
数字信号处理实验报告1
《数字信号处理》实验报告实验一:数字低通、高通滤波器实验实验二:数字带通、带阻滤波器实验系别:信息科学与技术系专业班级:电子信息工程0902班学生姓名:王俊知(053)同组学生:成绩:指导教师:刘海龙(实验时间:20年月日——20年月日)华中科技大学武昌分校实验一数字低通、高通滤波器实验1、实验目的使学生了解和熟悉软件Matlab的使用,了解数字低通、高通滤波器零极点的作用及数字低通、高通滤波器的幅频特性和相频特性。
使学生熟悉整数型滤波器的设计。
2、实验内容与步骤1、在计算机上运行Matlab软件,根据滤波器的参数,用Matlab软件设计出数字低通、高通滤波器、画出数字低通、高通滤波器的幅频特性和相频特性的程序,或按照范例程序进行修改,运行程序,观察滤波器的零极点分布图、幅频特性和相频特性图。
2、改变滤波器的零极点分布,再运行程序,观察幅频特性和相频特性的不同,滤波器的通带有什么改变。
3、再次修改程序,输入数字信号,使其通过滤波器,并画出输入、输出滤波器的数字信号波形,运行程序。
观看输入、输出滤波器的数字信号波形,仔细观察其区别。
3、实验设备1、实验场所:信息科学与技术系实验室机房。
2、硬件设备:计算机若干(由学生人数定)。
3、实验软件:Matlab。
整系数低通滤波器程序如下:clear all;clc;close all;m=10;for i=1:m+1if i==1B(i)=1;elseif i==m+1B(i)=-1;else B(i)=0;endendendA=[1,-1];N=8192;[H,f]=freqz(B,A,N);plot(f*25/pi,abs(H));grid;figure,plot(f*25/pi,angle(H));grid;figure,zplane(B,A);k=0:N-1;f=2*k/N;load('C:\MATLAB7\work\RawData.mat');x=rawdata(1,1:N);w=filter(B,A,x);figure;plot(x);title('输入信号');figure;plot(w);title('输出信号');滤波器的幅频特性和相频特性曲线、零极点分布、输入、输出滤波器的数字信号波形图:整系数高通滤波器程序如下:clear all;clc;close all;m=10;for i=1:m+1if i==1B(i)=1;elseif i==m+1B(i)=-1;else B(i)=0;endendendA=[1,1];N=8192;[H,f]=freqz(B,A,N);plot(f*25/pi,abs(H));grid;figure,plot(f*25/pi,angle(H));grid;figure,zplane(B,A);k=0:N-1;f=2*k/N;load('C:\MATLAB7\work\RawData.mat');x=rawdata(1,1:N);w=filter(B,A,x);figure;plot(x);title('输入信号');figure;plot(w);title('输出信号');滤波器的幅频特性和相频特性曲线、零极点分布、输入、输出滤波器的数字信号波形图:改变参数clear all;clc;close all;m=11;for i=1:m+1if i==1B(i)=1;elseif i==m+1B(i)=1;else B(i)=0;endendendA=[1,1];N=8192;[H,f]=freqz(B,A,N);plot(f*25/pi,abs(H));grid;figure,plot(f*25/pi,angle(H));grid; figure,zplane(B,A);k=0:N-1;f=2*k/N;load('C:\MATLAB7\work\RawData.mat'); x=rawdata(1,1:N);w=filter(B,A,x);figure;plot(x);title('输入信号'); figure;plot(w);title('输出信号');正负120度零点抵消程序如下:clear all;clc;close all;m=24;for i=1:m+1if i==1B(i)=1;elseif i==m+1B(i)=-1;else B(i)=0;endendendA=[1,1,1];N=8192;[H,f]=freqz(B,A,N);plot(f*25/pi,abs(H));grid;figure,plot(f*25/pi,angle(H));grid;figure,zplane(B,A);k=0:N-1;f=2*k/N;load('C:\MATLAB7\work\RawData.mat');x=rawdata(1,1:N);w=filter(B,A,x);figure;plot(x);title('输入信号');figure;plot(w);title('输出信号');滤波器的幅频特性和相频特性曲线、零极点分布、输入、输出滤波器的数字信号波形图:正负60度零点抵消程序如下:clear all;clc;close all;m=24;for i=1:m+1if i==1B(i)=1;elseif i==m+1B(i)=-1;else B(i)=0;endendendA=[1,-1,1];N=8192;[H,f]=freqz(B,A,N);plot(f*25/pi,abs(H));grid;figure,plot(f*25/pi,angle(H));grid;figure,zplane(B,A);k=0:N-1;f=2*k/N;load('C:\MATLAB7\work\RawData.mat');x=rawdata(1,1:N);w=filter(B,A,x);figure;plot(x);title('输入信号');figure;plot(w);title('输出信号');滤波器的幅频特性和相频特性曲线、零极点分布、输入、输出滤波器的数字信号波形图:实验二数字带通、带阻滤波器实验1、实验目的使学生了解数字带通、带阻滤波器设计原理及数字带通、带阻滤波器的幅频特性和相频特性。
实验一 数字信号处理 实验报告
1.已知系统的差分方程如下式:y1(n)=0.9y1(n-1)+x(n)程序编写如下:(1)输入信号x(n)=R10 (n),初始条件y1(-1)=1,试用递推法求解输出y1(n);a=0.9; ys=1; %设差分方程系数a=0.9,初始状态: y(-1)=1xn=ones(1,10); %矩型序列R10(n)=u(n)-u(n-10),定义其宽度为0~9n=1:35; %设差分方程系数a=0.9,初始状态: y(-1)=1xn=sign(sign(10-n)+1);B=1;A=[1,-a]; %差分方程系数xi=filtic(B,A,ys); %由初始条件计算等效初始条件输入序列xiyn=filter(B,A,xn,xi); %调用filter解差分方程,求系统输出y(n)n=0:length(yn)-1;subplot(2,1,1);stem(n,yn,'linewidth',2); axis([-5,15,0,8]); grid ontitle('图(a) y1(n)=0.9y1(n-1)+x(n) 初始条件y1(-1)=1 ');xlabel('n');ylabel('y(n)')(2) 输入信号x(n)=R10 (n),初始条件y1(-1)=0,试用递推法求解输出y1(n)。
a=0.9; ys=0; %设差分方程系数a=0.9,初始状态: y(-1)=1xn=ones(1,10); %矩型序列R10(n)=u(n)-u(n-10)B=1;A=[1,-a]; %差分方程系数xi=filtic(B,A,ys); %由初始条件计算等效初始条件输入序列xiyn=filter(B,A,xn,xi); %调用filter解差分方程,求系统输出y(n)n=0:length(yn)-1;subplot(2,1,2);stem(n,yn, 'linewidth',2); axis([-5,15,0,8]); grid ontitle('图(b) y1(n)=0.9y1(n-1)+x(n) 初始条件y1(-1)=0 ');xlabel('n');ylabel('y(n)') 图形输出如下:-505101502468图(a) y1(n)=0.9y1(n-1)+x(n) 初始条件y1(-1)=1ny (n )-55101502468图(b) y1(n)=0.9y1(n-1)+x(n) 初始条件y1(-1)=0ny (n )2. 已知系统差分方程为: y 1(n )=0.9y 1(n -1)+x (n ) 用递推法求解系统的单位脉冲响应h (n ),要求写出h (n )的封闭公式,并打印h (n )~n 曲线。
实验一 数字信号处理 实验报告
1.已知系统的差分方程如下式:y1(n)=0.9y1(n-1)+x(n)程序编写如下:(1)输入信号x(n)=R10 (n),初始条件y1(-1)=1,试用递推法求解输出y1(n);a=0.9; ys=1; %设差分方程系数a=0.9,初始状态: y(-1)=1xn=ones(1,10); %矩型序列R10(n)=u(n)-u(n-10),定义其宽度为0~9n=1:35; %设差分方程系数a=0.9,初始状态: y(-1)=1xn=sign(sign(10-n)+1);B=1;A=[1,-a]; %差分方程系数xi=filtic(B,A,ys); %由初始条件计算等效初始条件输入序列xiyn=filter(B,A,xn,xi); %调用filter解差分方程,求系统输出y(n)n=0:length(yn)-1;subplot(2,1,1);stem(n,yn,'linewidth',2); axis([-5,15,0,8]); grid ontitle('图(a) y1(n)=0.9y1(n-1)+x(n) 初始条件y1(-1)=1 ');xlabel('n');ylabel('y(n)')(2) 输入信号x(n)=R10 (n),初始条件y1(-1)=0,试用递推法求解输出y1(n)。
a=0.9; ys=0; %设差分方程系数a=0.9,初始状态: y(-1)=1xn=ones(1,10); %矩型序列R10(n)=u(n)-u(n-10)B=1;A=[1,-a]; %差分方程系数xi=filtic(B,A,ys); %由初始条件计算等效初始条件输入序列xiyn=filter(B,A,xn,xi); %调用filter解差分方程,求系统输出y(n)n=0:length(yn)-1;subplot(2,1,2);stem(n,yn, 'linewidth',2); axis([-5,15,0,8]); grid ontitle('图(b) y1(n)=0.9y1(n-1)+x(n) 初始条件y1(-1)=0 ');xlabel('n');ylabel('y(n)') 图形输出如下:-505101502468图(a) y1(n)=0.9y1(n-1)+x(n) 初始条件y1(-1)=1ny (n )-55101502468图(b) y1(n)=0.9y1(n-1)+x(n) 初始条件y1(-1)=0ny (n )2. 已知系统差分方程为: y 1(n )=0.9y 1(n -1)+x (n ) 用递推法求解系统的单位脉冲响应h (n ),要求写出h (n )的封闭公式,并打印h (n )~n 曲线。
数字信号处理实验报告
数字信号处理实验报告实验一:混叠现象的时域与频域表现实验原理:当采样频率Fs不满足采样定理,会在0.5Fs附近引起频谱混叠,造成频谱分析误差。
实验过程:考虑频率分别为3Hz,7Hz,13Hz 的三个余弦信号,即:g1(t)=cos(6πt), g2(t)=cos(14πt), g3(t)=cos(26πt),当采样频率为10Hz 时,即采样间隔为0.1秒,则产生的序列分别为:g1[n]=cos(0.6πn), g2[n]=cos(1.4πn), g3[n]=cos(2.6πn)对g2[n],g3[n] 稍加变换可得:g2[n]=cos(1.4πn)=cos((2π-0.6π)n)= cos(0.6πn)g3[n]=cos(2.6πn)= cos((2π+0.6π)n)=cos(0.6πn)利用Matlab进行编程:n=1:300;t=(n-1)*1/300;g1=cos(6*pi*t);g2=cos(14*pi*t);g3=cos(26*pi*t);plot(t,g1,t,g2,t,g3);k=1:100;s=k*0.1;q1=cos(6*pi*s);q2=cos(14*pi*s);q3=cos(26*pi*s);hold on; plot(s(1:10),q1(1:10),'bd');figuresubplot(2,2,1);plot(k/10,abs(fft(q1)))subplot(2,2,2);plot(k/10,abs(fft(q2)))subplot(2,2,3);plot(k/10,abs(fft(q3)))通过Matlab软件的图像如图所示:如果将采样频率改为30Hz,则三信号采样后不会发生频率混叠,可运行以下的程序,观察序列的频谱。
程序编程改动如下:k=1:300;q=cos(6*pi*k/30);q1=cos(14*pi*k/30);q2=cos(26*pi*k/30);subplot(2,2,1);plot(k/10,abs(fft(q)))subplot(2,2,2);plot(k/10,abs(fft(q1)))subplot(2,2,3);plot(k/10,abs(fft(q2)))得图像:问题讨论:保证采样后的信号不发生混叠的条件是什么?若信号的最高频率为17Hz,采样频率为30Hz,问是否会发生频率混叠?混叠成频率为多少Hz的信号?编程验证你的想法。
数字信号处理实验报告
一、实验目的1. 理解数字信号处理的基本概念和原理。
2. 掌握离散时间信号的基本运算和变换方法。
3. 熟悉数字滤波器的设计和实现。
4. 培养实验操作能力和数据分析能力。
二、实验原理数字信号处理(Digital Signal Processing,DSP)是利用计算机对信号进行采样、量化、处理和分析的一种技术。
本实验主要涉及以下内容:1. 离散时间信号:离散时间信号是指时间上离散的信号,通常用序列表示。
2. 离散时间系统的时域分析:分析离散时间系统的时域特性,如稳定性、因果性、线性等。
3. 离散时间信号的变换:包括离散时间傅里叶变换(DTFT)、离散傅里叶变换(DFT)和快速傅里叶变换(FFT)等。
4. 数字滤波器:设计、实现和分析数字滤波器,如低通、高通、带通、带阻滤波器等。
三、实验内容1. 离散时间信号的时域运算(1)实验目的:掌握离散时间信号的时域运算方法。
(2)实验步骤:a. 使用MATLAB生成两个离散时间信号;b. 进行时域运算,如加、减、乘、除等;c. 绘制运算结果的时域波形图。
2. 离散时间信号的变换(1)实验目的:掌握离散时间信号的变换方法。
(2)实验步骤:a. 使用MATLAB生成一个离散时间信号;b. 进行DTFT、DFT和FFT变换;c. 绘制变换结果的频域波形图。
3. 数字滤波器的设计和实现(1)实验目的:掌握数字滤波器的设计和实现方法。
(2)实验步骤:a. 设计一个低通滤波器,如巴特沃斯滤波器、切比雪夫滤波器等;b. 使用MATLAB实现滤波器;c. 使用MATLAB对滤波器进行时域和频域分析。
4. 数字滤波器的应用(1)实验目的:掌握数字滤波器的应用。
(2)实验步骤:a. 采集一段语音信号;b. 使用数字滤波器对语音信号进行降噪处理;c. 比较降噪前后的语音信号,分析滤波器的效果。
四、实验结果与分析1. 离散时间信号的时域运算实验结果显示,通过MATLAB可以方便地进行离散时间信号的时域运算,并绘制出运算结果的时域波形图。
数字信号处理实验报告1-5
实验一时域离散信号的产生及时域处理实验目的:了解Matlab软件数字信号处理工具箱的初步使用方法。
掌握其简单的Matlab语言进行简单的时域信号分析。
实验内容:[1.1]已知两序列x1=[0,1,2,3,4,3,2,1,0];n1=[-2:6];x2=[2,2,0,0,0,-2,-2],n2=[2:8].求他们的和ya及乘积yp. 程序如下:x1=[0,1,2,3,4,3,2,1,0];ns1=-2;x2=[2,2,0,0,0,-2,-2];ns2=2;nf1=ns1+length(x1)-1;nf2=ns2+length(x2)-1;ny=min(ns1,ns2):max(nf1,nf2);xa1=zeros(1,length(ny));xa2=xa1;xa1(find((ny>=ns1)&(ny<=nf1)==1))=x1;xa2(find((ny>=ns2)&(ny<=nf2)==1))=x2;ya=xa1+xa2yp=xa1.*xa2subplot(4,4,1),stem(ny,xa1,'.')subplot(4,1,2),stem(ny,xa2,'.')line([ny(1),ny(end)],[0,0])subplot(4,1,3),stem(ny,ya,'.')line([ny(1),ny(end)],[0,0])subplot(4,1,4),stem(ny,yp,'.')line([ny(1),ny(end)],[0,0])[1.2]编写产生矩形序列的程序。
并用它截取一个复正弦序列,最后画出波形。
程序如下:clear;close alln0=input('输入序列起点:n0=');N=input('输入序列长度:N=');n1=input('输入位移:n1=');n=n0:n1+N+5;u=[(n-n1)>=0];x1=[(n-n1)>=0]-[(n-n1-N)>=0];x2=[(n>=n1)&(n<(N+n1))];x3=exp(j*n*pi/8).*x2;subplot(2,2,1);stem(n,x1,'.');xlabel('n');ylabel('x1(n)');axis([n0,max(n),0,1]);subplot(2,2,3);stem(n,x2,'.');xlabel('n');ylabel('x2(n)');axis([n0,max(n),0,1]);subplot(2,2,2);stem(n,real(x3),'.'); xlabel('n');ylabel('x3(n)的实部');line([n0,max(n)],[0,0]);axis([n0,max(n),-1,1]);subplot(2,2,4);stem(n,imag(x3),'.'); xlabel('n');ylabel('x3(n)的虚部');line([n0,max(n)],[0,0]);axis([n0,max(n),-1,1]);[1.3]利用已知条件,利用MATLAB生成图形。
数字信号处理实验报告实验一
实验一:系统响应及系统稳定性1 实验目的(1)掌握求系统响应的方法。
(2)掌握时域离散系统的时域特性。
(3)分析、观察及检验系统的稳定性。
2 实验原理与方法在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。
已知输入信号,可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。
在计算机上适合用递推法求差分方程的解,最简单的方法是采用MA TLAB语言的工具箱函数filter函数。
也可以用MATLAB语言的工具箱函数conv函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。
系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。
重点分析系统的稳定性,包括观察系统的暂态响应和稳态响应。
系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。
或者系统的单位脉冲响应满足绝对可和的条件。
系统的稳定性由差分方程的系数决定。
实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件,可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的,系统的稳态输出是指当n→∞时,系统的输出。
如果系统稳定,信号加入系统后,系统输出的开始一段称为暂态效应,随n的加大,幅度趋于稳定,达到稳态输出。
注意在以下实验中均假设系统的初始状态为零。
3 实验内容及步骤(1)编制程序,包括产生输入信号、单位脉冲响应序列的子程序,用filter函数或conv 函数求解系统输出响应的主程序。
程序中要有绘制信号波形的功能。
(2)给定一个低通滤波器的差分方程为y(n) = 0.05x(n) + 0.05x(n-1) + 0.9y(n-1)输入信号x1(n) = R8(n) , x8 = u(n)①分别求出x1 = R8(n) 和x8 = u(n) 的系统响应,并画出其波形。
数字信号处理实验一
实验一 离散时间信号分析一、实验目的1.熟悉MATLAB 应用环境,常用窗口的功能和使用方法。
2.掌握各种常用的序列,理解其数学表达式和波形表示。
3.掌握在计算机中生成及绘制数字信号波形的方法。
4.掌握序列的相加、相乘、移位、反褶、卷积等基本运算及计算机实现。
5.通过编程,上机调试程序,进一步增强使用计算机解决问题的能力。
二、实验原理1.序列的基本概念离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。
离散时间信号在数学上可用时间序列)}({n x 来表示,其中)(n x 代表序列的第n 个数字,n 代表时间的序列,n 的取值范围为∞<<∞-n 的整数,n 取其它值)(n x 没有意义。
离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号)(t a x 进行等间隔采样,采样间隔为T ,得到一个有序的数字序列)}({nT x a 就是离散时间信号,简称序列。
2.常用序列常用序列有:单位脉冲序列(单位抽样))(n δ、单位阶跃序列)(n u 、矩形序列)(n R N 、实指数序列、复指数序列、正弦型序列等。
3.序列的基本运算序列的运算包括移位、反褶、和、积、点乘、累加、差分运算、卷积等。
4.序列的卷积运算)()()()()(n h n x m n h m x n y m *=-=∑∞-∞=上式的运算关系称为卷积运算,式中*代表两个序列卷积运算。
两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。
其计算的过程包括以下4个步骤(1)反褶:先将)(n x 和)(n h 的变量n 换成m ,变成)(m x 和)(m h ,再将)(m h 以纵轴为对称轴反褶成)(m h -。
(2)移位:将)(m h -移位n ,得)(m n h -。
当n 为正数时,右移n 位;当n 为负数时,左移n 位。
(3)相乘:将)(m n h -和)(m x 的对应点的值相乘。
数字信号处理实验报告
数字信号处理实验报告实验⼀信号、系统及系统响应⼀、实验⽬的1、熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解;2、熟悉时域离散系统的时域特性;3、利⽤卷积⽅法观察分析系统的时域特性;4、掌握序列傅⽴叶变换的计算机实现⽅法,利⽤序列的傅⽴叶变换对连续信号、离散信号及系统响应进⾏频域分析。
⼆、实验原理及⽅法采样是连续信号数字处理的第⼀个关键环节。
对采样过程的研究不仅可以了解采样前后信号时域和频域特性发⽣变化以及信号信息不丢失的条件,⽽且可以加深对傅⽴叶变换、Z 变换和序列傅⽴叶变换之间关系式的理解。
对⼀个连续信号进⾏理想采样的过程可⽤下式表⽰:,其中为的理想采样,p(t)为周期脉冲,即的傅⽴叶变换为上式表明为的周期延拓。
其延拓周期为采样⾓频率()。
只有满⾜采样定理时,才不会发⽣频率混叠失真。
在实验时可以⽤序列的傅⽴叶变换来计算。
公式如下:离散信号和系统在时域均可⽤序列来表⽰。
为了在实验中观察分析各种序列的频域特性,通常对在[0,2]上进⾏M点采样来观察分析。
对长度为N的有限长序列x(n),有:其中,,k=0,1,……M-1时域离散线性⾮移变系统的输⼊/输出关系为上述卷积运算也可在频域实现三、实验内容及步骤1、认真复习采样理论,离散信号与系统,线性卷积,序列的傅⽴叶变换及性质等有关内容,阅读本实验原理与⽅法。
2、编制实验⽤主程序及相应⼦程序。
①信号产⽣⼦程序,⽤于产⽣实验中要⽤到的下列信号序列:xa(t)=Ae-at sin(Ω0t)u(t)进⾏采样,可得到采样序列xa(n)=xa(nT)=Ae-anT sin(Ω0nT)u(n), 0≤n<50其中A为幅度因⼦,a为衰减因⼦,Ω0是模拟⾓频率,T为采样间隔。
这些参数都要在实验过程中由键盘输⼊,产⽣不同的xa(t)和xa(n)。
b. 单位脉冲序列:xb(n)=δ(n)c. 矩形序列:xc(n)=RN(n), N=10②系统单位脉冲响应序列产⽣⼦程序。
数字信号处理实验一
实验一:熟悉MATLAB环境一、思考题:1、比较实验内容第2题中的第4和第5小题的结果,试说明对于周期性信号应当如何采样才能保证周期扩展后与原信号保持一致?答:对于周期性信号,在进行采样时,其采样周期必须满足采样定理,即采样频率应该大于信号最高频率的两倍,这样才能避免迭混,以便采样后仍能准确的恢复原信号。
2、对于有限长序列,如何用MATLAB计算其DTFT?答:用函数freqz可以计算序列在给定的离散频率点上的DTFT,该变换序列是以形如式的有理函数来描述的。
这个函数的表达形式有H=freqz(num,den,w)、[H,w]=freqz(num,den,k)。
函数freqz返回的频率响应值为向量H。
在H=freqz(num,den,w)中,0到π之间指定的频率集由向量w给出。
freqz函数的自变量k就是频率点的总数。
3、对于由两个子系统级联或并联的系统,如何用MATLAB计算他们的幅频响应与相频响应?答:系统的级联或并联实现涉及到了因式分解。
在MATLAB中,我们可以用函数roots来实现多项式的因式分解。
例如,函数r=roots(h)会返回多项式向量h 的根向量。
向量h是以的升幂表示的多项式的系数。
通过计算所得的根向量,可以求出二次因式的系数。
更简单的方法是用从以给定的传输函数H(z)直接求出二阶因式的函数zp2sos。
函数sos=zp2sos(z,p,k)产生以零—极点形式确定的等效传输函数H(z)的每个二阶部分系数的矩阵sos。
二、实验内容:第一到四题源程序:第二题图:第五题:%函数命名:function [x1]=stepshift(n0,n1,n2) n=[n1:n2];x1=[(n-n0)>=0];%源程序:>> [x1]=stepshift(2,1,10);>> n=1:10;>> stem(n,x1);第六题:>> b=[1,sqrt(2),1];>> a=[1,-0.67,0.9];>> [h,w]=freqz(b,a);>> am=20*log10(abs(h)); %求幅频特性>> subplot(2,1,1);plot(w,am);>> xlabel('w');ylabel('am');>> ph=angle(h); %求相频特性>> subplot(2,1,2);plot(w,ph);>> xlabel('w');ylabel('ph');第七题:源程序:>> a=[8 -2 -1 2 3];>> b=[2 3 -1 -3];>> c=conv(a,b); %求a、b的线性卷积>> m=length(c)-1;>> n=0:1:m;>> stem(n,c);>> xlabel('n');ylabel('幅度');第八题:源程序:>> n=50;>> a=[1 -2];>> b=[1 0.1 -0.06];>> x=[1 zeros(1,n-1)];>> k=0:1:n-1;>> y=filter(a,b,x);>> stem(k,y);>> xlabel('n');ylabel('幅度');三、实验总结:通过本次实验,熟悉并掌握MATLAB的主要命令操作,比如序列的简单运算、矩阵的输入和计算等,能熟练编写绘图程序,在计算卷积和绘制幅频响应和相频响应的过程中,充分地巩固了数字信号处理学的理论知识,总之,收获颇多。
数字信号处理实验一报告
实验一:用FFT 对信号作频谱分析1.实验目的学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析 误差及其原因,以便正确应用FFT 。
2. 实验原理用FFT 对信号作频谱分析是学习数字信号处理的重要内容。
经常需要进行谱分析的信号是模拟信号和时域离散信号。
对信号进行谱分析的重要问题是频谱分辨率D 和分析误差。
频谱分辨率直接和FFT 的变换区间N 有关,因为FFT 能够实现的频率分辨率是N /2π,因此要求D N ≤/2π。
可以根据此式选择FFT 的变换区间N 。
误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N 较大时离散谱的包络才能逼近于连续谱,因此N 要适当选择大一些。
周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT ,得到的离散谱才能代表周期信号的频谱。
如果不知道信号周期,可以尽量选择信号的观察时间长一些。
对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。
如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。
3.实验步骤及内容(1)对以下序列进行谱分析。
⎪⎩⎪⎨⎧≤≤-≤≤-=⎪⎩⎪⎨⎧≤≤-≤≤+==其它nn n n n n x 其它nn n n n n x n R n x ,074,330,4)(,074,830,1)()()(3241选择FFT 的变换区间N 为8和16 两种情况进行频谱分析。
分别打印其幅频特性曲线。
并进行对比、分析和讨论。
(2)对以下周期序列进行谱分析。
4()cos4x n n π=5()cos(/4)cos(/8)x n n n ππ=+选择FFT 的变换区间N 为8和16 两种情况分别对以上序列进行频谱分析。
分别打印其幅频特性曲线。
并进行对比、分析和讨论。
(3)对模拟周期信号进行谱分析6()cos8cos16cos20x t t t t πππ=++选择 采样频率Hz F s 64=,变换区间N=16,32,64 三种情况进行谱分析。
数字信号处理实验报告
数字信号处理实验报告实验一 信号的产生及傅立叶分析(设计性)一 实验目的1 学会利用计算机仿真信号。
2 理解信号采样思想。
3学会信号的频谱分析方法。
二 实验原理奈奎斯特抽样定理:要想抽样后能够不失真的还原出原信号,则抽样频率必须大于两倍信号谱的最高频率。
离散傅立叶变换(DFT ): 正变换反变换)(n x 和)(k X 都是点数为N 的有限长序列。
实质上有限长序列都是作为周期序列的一个周期来表示的,都隐含有周期性意义。
三 实验内容1 几种常用序列(如正弦、矩形、指数序列等)的产生。
1.用stem 函数来画出序列的波形,通过改变N 和s 得值来改变时间长度、抽样频率 N=500;k=0:N; s=0.03;X=5*sin(s*pi*k);plot(k,X,k,zeros(1,N+1));Xlabel('k'); Ylabel('X[k]'); title('余弦序列');10)()]([)(1-≤≤==∑--=N k Wn x n x DFT k X N n nk N10)(1)]([)(1-≤≤==∑--=-N n Wk X Nk X IDFT n x N k nk N2.指数序列 clear ;clc%c :指数序列的幅度 %a :指数序列的底数%k1:绘制序列的起始序号 %k2:绘制序列的终止序号c=1;a=0.75;k1=0;k2=20;k=k1:k2; x=c*(a.^k);stem(k,x);%'filled'Xlabel('k'); Ylabel('x');title('Ö¸ÊýÐòÁÐ');3各种序列t=0:0.01:1;k=1:200;x1=0.1*exp(-2*t); %指数序列 x2=2*cos(2*pi*4*t); %余弦序列 x3=[ones(1,10) zeros(1,90) ones(1,10) zeros(1,90)]; subplot(3,1,1); plot(t,x1); title('指数序列'); subplot(3,1,2); plot(t,x2); title('余弦序列'); subplot(3,1,3); plot(k,x3); title('矩形序列');kX [k ]kx指数信号余弦信号矩形信号4 编程实现序列的离散傅里叶变换(DFT),输入x(n),输出X(k)并且对于不同序列(如矩形序列等)做DFT.clear; clck=0:31; x1=2*((0.75).^k);subplot 321; stem(k,x1); title('指数序列');y1=fft(x1,32);subplot 322; stem(k,y1); title('指数序列DFT');k=0:31; x2=sin(k);subplot 323; stem(k,x2); title('正弦序列Sin(k)');y2=fft(x2,32);subplot 324; stem(k,y2); title('正弦序列DFT');x3=[ones(1,8) zeros(1,8) ones(1,8) zeros(1,8)];subplot 325; stem(k,x3); title('矩形序列');y3=fft(x3,32);subplot 326; stem(k,y3); title('矩形序列DFT');指数序列指数序列DFT正弦序列Sin(k)010203040正弦序列DFT矩形序列矩形序列DFT实验二 快速傅立叶变换FFT 及频谱分析(设计性)一 实验目的1 进一步加深对DFT 算法原理和基本性质的理解2 熟悉FFT 算法原理和FFT 的子程序应用3 学习用FFT 对连续时间信号进行频谱分析的方法,了解可能出现的分析误差及原因二 实验原理(参考P187,P189)FFT 只是DFT 的一种快速算法,利用FFT 可减少运算量,提高速度。
实验一 数字信号处理
实验一系统响应及系统稳定性一、实验目的(1)掌握求系统响应的方法。
(2)掌握时域离散系统的时域特性。
(3)分析、观察及检验系统的稳定性。
二实验内容及步骤1、给定一个低通滤波器的差分方程为y(n)=0.05x(n)+0.05x(n-1)+0.9y(n-1),输入信号x1(n)=R8(n)x2(n)=u(n)a)分别求出系统对x1(n)=R8(n)和x2(n)=u(n)的响应序列,并画出其波形。
b)求出系统的单位冲响应,画出其波形。
xn1=[1 1 1 1 1 1 1 1 zeros(1,50)];xn2=ones(1,128);xn3=[1,zeros(1,50)];B=[0.05,0.05];A=[1,-0.9];yn1=filter(B,A,xn1);yn2=filter(B,A,xn2);yn3=filter(B,A,xn3);figure(1);n1=0:length(yn1)-1;subplot(2,2,1);stem(n1,yn1,'.');xlabel('n');ylabel('yn1');title('yn1');n2=0:length(yn2)-1;subplot(2,2,2);stem(n2,yn2,'.');xlabel('n');ylabel('yn2');title('yn2');n3=0:length(yn3)-1;subplot(2,2,3);stem(n3,yn3,'.');xlabel('n');ylabel('yn3');title('yn3');2、给定系统的单位脉冲响应为h1(n)=R10(n),h2(n)=δ(n)+2.5δ(n-1)+δ(n-2)+δ(n-3)用线性卷积法分别求系统h1(n)和h2(n)对x1(n)=R8(n)的输出响应,并画出波形。
数字信号处理实验
数字信号处理实验报告姓名班级学号实验一信号、系统及系统响应一.实验目的1.掌握线性卷积定义及意义;2.掌握连续卷积与离散卷积的联系,利用离散卷积计算连续信号的卷积结果。
二.实验要求1.编写所有程序;2.根据信号系统理论,计算系统的阶跃响应、方波响应,并画出结果;3.编写程序计算系统的阶跃响应、方波响应,并与计算结果进行比较;4.编写实验报告。
三.实验内容1.复习采样理论、离散信号与系统、线性卷积有关内容。
2.编制实验用主程序及相应子程序,包括(1)方波,阶跃信号产生子程序,体会计算机表示方波,阶跃信号的异同。
:close all;clc;clear;A=1;w0=pi;t=0:0.001:4;y=A*square(w0*t); plot(t,y);title('方波产生信号'); axis([-1,5,-1.5,1.5]);阶跃信号子程序:close all;clc;clear;t=0:0.01:4;plot(t,rectpuls(t,3));title('阶跃信号产生程序');axis([0,3,0,1.5]);(2)系统单位脉冲响应序列产生子程序。
本实验要用到两种系统。
a、h a(t)=u(t)-u(t-1)产生子程序:close all;clc;clear;n=-20:20;y1=[zeros(1,20),ones(1,21)];y2=[zeros(1,21),ones(1,20)];subplot(311)stem(n,y1,'fill');xlabel('n');ylabel('u(t)');subplot(312)stem(n,y2,'fill');xlabel('n');ylabel('u(t-1)');subplot(313);y=y1-y2;stem(n,y,'fill');xlabel('n');ylabel('u(t)-u(t-1)');b、h a(t)=e-2t u(t)子程序设计:close all;clear;clc;t=0:0.01:2;a=exp(-2*t);stem(t,a);axis([0,1,0,1.5]);xlabel('t');ylabel('exp(-2t)u(t)');hold on;(3)有限长序列线性卷积子程序,可以直接调用MATLAB语言中卷积函数conv。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验1认识实验-MATLAB语言上机操作实践
一、实验目的
㈠了解MATLAB语言的主要特点、作用。
㈡学会MATLAB主界面简单的操作使用方法。
㈢学习简单的数组赋值、运算、绘图、流程控制编程。
二、实验原理
㈠简单的数组赋值方法
MATLAB中的变量和常量都可以是数组(或矩阵),且每个元素都可以是复数。
在MATLAB指令窗口输入数组A=[1 2 3;4 5 6;7 8 9],观察输出结果。
然后,键入:A(4,2)= 11
键入:A (5,:) = [-13 -14 -15]
键入:A(4,3)= abs (A(5,1))
键入:A ([2,5],:) = [ ]
键入:A/2
键入:A (4,:) = [sqrt(3) (4+5)/6*2 –7]
观察以上各输出结果。
将A式中分号改为空格或逗号,情况又如何?请在每式的后面标注其含义。
2.在MATLAB指令窗口输入B=[1+2i,3+4i;5+6i ,7+8i], 观察输出结果。
键入:C=[1,3;5,7]+[2,4;6,8]*i,观察输出结果。
如果C式中i前的*号省略,结果如何?
键入:D = sqrt (2+3i)
键入:D*D
键入:E = C’, F = conj(C), G = conj(C)’
观察以上各输出结果, 请在每式的后面标注其含义。
3.在MATLAB指令窗口输入H1=ones(3,2),H2=zeros(2,3),H3=eye(4),观察输出结果。
㈡、数组的基本运算
1.输入A=[1 3 5],B= [2 4 6],求C=A+B,D=A-2,E=B-A
2.求F1=A*3,F2=A.*B,F3=A./B,F4=A.\B, F5=B.\A, F6=B.^A, F7=2./B, F8=B.\2
*3.求B',Z1=A*B’,Z2=B’*A
观察以上各输出结果,比较各种运算的区别,理解其含义。
㈢、常用函数及相应的信号波形显示
例1:显示曲线f(t)=2sin(2πt),(t>0)
ⅰ点击空白文档图标(New M-file),打开文本编辑器。
ⅱ键入:t=0:0.01:3; (1)
f=2*sin(2*pi*t); (2)
plot(t,f);
title(‘f(t)-t曲线’);
xlabel(‘t’),ylabel(‘f(t)’);
ⅲ点击保存图标(SAVE),键入文件名L1(扩展名缺省值.M)。
ⅳ在MATLAB指令窗口上键入L1(回车),程序将运行,打开图形窗,将观察到相应的波形曲线。
ⅴ保留⑴⑵条程序,键入下列程序段,观察其结果:
subplot(2,2,1),plot(t,f);
title(‘plot(t,f)’);
subplot(2,2,2),stem(t,f);
title(‘stem(t,f)’);
subplot(2,2,3),stairs(t,f);
title(‘stairs(t,f)’);
subplot(2,2,4),bar(t,f);
title(‘bar(t,f)’);
在读懂上述例题程序的基础上,请描绘下列函数波形:
1.f(t)= 3e-2t ,(t>0)
2. f(t)= 5cos(2πt), (0<t<3)
3. f(t)= t, (0<k<10)
4. f(k)= ksink, (-20<k<20)
㈣、简单的流程控制编程
例3:
按第三项任务中例题操作步骤进行。
在文本编辑器中输入:
X=0;
for n=1:32
X=X+n^2;
end
在命令窗口输入x(回车),观察其结果,并自行编写下列程序:
(五)、综合练习
1.熟悉MATLAB的使用环境和方法。
2.练习使用基本的向量生成、矩阵运算、绘图等语句。
(做以上(一)至(四)练习)
3.利用冒号(:)生成向量
X1=[1 2 3 4 5]
X2=[1.000 1.500 2.000 2.500]
X3=[5 4 3 2 1]
4.分别生成3*3,3*4的全0矩阵,全1矩阵和随机矩阵
5.分别输入矩阵
6.分别计算A+B,A-B,A+3,A-4,A*B,A.*B,C=inv(A),A/B,A./B
7.分别计算sin(x1),cos(x1),exp(x1),lg(x2),sqrt(x2)
8.完成教材第一章例题程序并说明每句程序的含义
三、实验预习
认真阅读第五章有关MATLAB语言使用的介绍,明确以下问题:
MATLAB语言与其它计算机语言相比,有何特点?
MATLAB的工作环境主要包括几个窗口,这些窗口的主要功能是什么?
MATLAB如何进行数组元素的寻访和赋值?在赋值语句中,各种标点符号的作用如何?
数组运算有哪些常用的函数?MATLAB中如何处理复数?
数组运算与矩阵运算有何异同?重点理解数组运算中点乘(.*)和点除(./或.\)的用法。
初步了解MATLAB的基本流程控制语句及使用方法。
通过例题,初步了解MATLAB进行二维图形绘制的方法和常用子函数。
四、实验设备
微型计算机(已安装MATLAB系统软件包)一台。