数字信号实验报告1
- 格式:docx
- 大小:525.47 KB
- 文档页数:25
实验一 信号、系统及系统响应一、实验目的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,观察频谱混淆现象是否明显存在,说明原因,并记录这时候的幅频特性曲线。
实验一序列的产生姓名:高洪美学号:0819419213 班级:生医5班一、实验目的:熟悉MATLAB中产生信号和绘制信号的基本命令。
二、实验环境:基于Windows PC的MATLAB。
三、实验内容:1、单位样本和单位阶跃序列;2、指数信号;3、正弦序列;4、随机信号。
四、实验过程:(一)单位样本和单位阶跃序列:Q1.1运行程序P1.1以产生单位样本序列u[n]并显示它:程序:clf;% Generate a vector from -10 to 20n = -10:20;% Generate the unit sample sequenceu = [zeros(1,10) 1 zeros(1,20)];% Plot the unit sample sequencestem(n,u);xlabel('Time index n');ylabel('Amplitude');title('Unit Sample Sequence');axis([-10 20 0 1.2]);所得图像如下所示:Q1.2 命令clf,axis,title,xlable和ylable的作用是什么:答:clf:运行程序时弹出显示图像的面板;Axis:规定横纵坐标的范围;Title:使图像面板上方显示相应的题目名称;Xlable:定义横坐标的名字;Ylable:定义纵坐标的名字。
Q1.3 修改程序P1.1以产生带有延时11个样本的延迟单位样本序列ud[n],运行修改的程序并且显示产生的序列。
程序:clf;% Generate a vector from 0 to 30n = 0:30;% Generate the unit sample sequenceud = [zeros(1,11) 1 zeros(1,19)];% Plot the unit sample sequencestem(n,ud);xlabel('Time index n');ylabel('Amplitude');title('Unit Sample Sequence');axis([0 30 0 1.2]);所得图像如下所示:Q1.4修改程序P1.1以产生单位步长序列s[n]。
实验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 点离散序列,这里为窗函数。
《数字信号处理》实验报告实验一:数字低通、高通滤波器实验实验二:数字带通、带阻滤波器实验系别:信息科学与技术系专业班级:电子信息工程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 曲线。
数字信号处理课程实验报告实验一 离散时间信号和系统响应一. 实验目的1. 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解2. 掌握时域离散系统的时域特性3. 利用卷积方法观察分析系统的时域特性4. 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对离散信号及系统响应进行频域分析二、实验原理1. 采样是连续信号数字化处理的第一个关键环节。
对采样过程的研究不仅可以了解采样前后信号时域和频域特性的变化以及信号信息不丢失的条件,而且可以加深对离散傅里叶变换、Z 变换和序列傅里叶变换之间关系式的理解。
对连续信号()a x t 以T 为采样间隔进行时域等间隔理想采样,形成采样信号: 式中()p t 为周期冲激脉冲,()a x t 为()a x t 的理想采样。
()a x t 的傅里叶变换为()a X j Ω:上式表明将连续信号()a x t 采样后其频谱将变为周期的,周期为Ωs=2π/T 。
也即采样信号的频谱()a X j Ω是原连续信号xa(t)的频谱Xa(jΩ)在频率轴上以Ωs 为周期,周期延拓而成的。
因此,若对连续信号()a x t 进行采样,要保证采样频率fs ≥2fm ,fm 为信号的最高频率,才可能由采样信号无失真地恢复出原模拟信号ˆ()()()a a xt x t p t =1()()*()21()n a a a s X j X j P j X j jn T π∞=-∞Ω=ΩΩ=Ω-Ω∑()()n P t t nT δ∞=-∞=-∑计算机实现时,利用计算机计算上式并不方便,因此我们利用采样序列的傅里叶变换来实现,即而()()j j n n X e x n e ωω∞-=-∞=∑为采样序列的傅里叶变换2. 时域中,描述系统特性的方法是差分方程和单位脉冲响应,频域中可用系统函数描述系统特性。
已知输入信号,可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应。
一、实验目的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可以方便地进行离散时间信号的时域运算,并绘制出运算结果的时域波形图。
实验一时域离散信号的产生及时域处理实验目的:了解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)学习并掌握求系统响应的方法。
(2)掌握时域离散系统的时域特性。
(3)分析、观察及检验系统的稳定性。
二、实验原理与方法在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。
已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应。
最简单的方法是采用MATLAB 语言的工具箱函数filter 函数。
也可以用MATLAB 语言的工具箱函数conv 函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。
系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。
重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。
系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。
或者系统的单位脉冲响应满足绝对可和的条件。
系统的稳定性由其差分方程的系数决定。
实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。
可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的[19]。
系统的稳态输出是指当∞→n 时,系统的输出。
如果系统稳定,信号加入系统后,系统输出的开始一段称为暂态效应,随n 的加大,幅度趋于稳定,达到稳态输出。
判断系统的稳定性,还可以根据系统函数的极点是否在单位圆内来判断系统是否稳定。
当系统函数的极点都在单位圆内时,系统函数的时域的傅里叶变换存在,即满足傅里叶变换的条件,那么系统稳定,反之,当系统函数的极点不在单位圆内时,那么系统就不稳定。
三、实验内容及步骤(1)给定一个低通滤波器的差分方程为输入信号 )()(81n R n x =a) 分别求出系统对)()(81n R n x =和)()(2n u n x =的响应序列,并画出其波形。
b) 求出系统的单位冲响应,画出其波形。
实验一:离散时间信号的表示与运算一:实验内容、原理描述及实验结果 1. 离散时间信号的表示离散时间信号定义为一时间函数,它只在某些离散的瞬时给出函数值,而在其他处无定义。
因此,它是时间上不连续按一定先后次序排列的一组数的集合,故称为时间序列,简称序列,通常表示为{x (n )} -∞<n<+∞ (1) 单位采样序列例1.1 用matlab 编写生成单位脉冲序列函数的程序,n ∈(-5,5)。
程序代码如下:n0=0;n1=-5;n2=5;n=[n1:n2];nc=length(n);x=zeros(1,nc);for i=1:ncif n(i)==n0 x(i)=1; endendstem(n,x)xlabel('n');ylabel('x(n)');title('delta sequence'); grid或者:n0=0;n1=-5;n2=5;n=[n1:n2];x=[(n-n0)==0];stem(n,x);xlabel('n');ylabel('x(n)');title('delta sequence');grid 图形如下:nx (n )(2)单位阶跃序列例1.2 用matlab 编写生成单位阶跃序列函数的程序,n ∈(-5,5)。
程序代码如下:n0=0;n1=-5;n2=5;n=[n1:n2];x=[(n-n0)>=0];stem(n,x)xlabel('n');ylabel('x(n)');title('step sequence');grid图形如下:nx (n )(3)单位斜坡序列例1.3 用matlab 编写生成单位斜坡序列函数的程序,n ∈(0,5)。
程序代码如下:n1=0;n2=5;n=[n1:1:n2];x=n;stem(n,x)xlabel('n');ylabel('x(n)');title('ramp sequence');grid图形如下:nx (n )(4)正余弦序列例1.4 用matlab 编写正弦序列x(n)=5sin(0.1πn+π/3)函数的程序。
数字信号处理 实验报告实验一 序列的傅立叶变换一、实验目的1.进一步加深理解DFS,DFT 算法的原理;2.研究补零问题;3.快速傅立叶变换(FFT )的应用。
二、 实验步骤1.复习DFS 和DFT 的定义,性质和应用;2熟悉MATLAB 语言的命令窗口、编程窗口和图形窗口的使用;3利用提供的程序例子编写实验用程序;4.按实验内容上机实验,并进行实验结果分析;5.写出完整的实验报告,并将程序附在后面。
三、 实验内容1.周期方波序列的频谱试画出下面四种情况下的的幅度频谱, 并分析补零后,对信号频谱的影响。
2.有限长序列x(n)的DFT (1)取x(n)(n=0:10)时,画出x(n)的频谱X(k) 的幅度;(2)将(1)中的x(n)以补零的方式,使x(n)加长到(n:0~100)时,画出x(n)的频谱X(k) 的幅度;(3)取x(n)(n:0~100)时,画出x(n)的频谱X(k) 的幅度。
利用FFT 进行谱分析3.已知:模拟信号以t=0.01n(n=0:N-1)进行采样,求N 点DFT 的幅值谱。
请分别画出N=45; N=50;N=55;N=60时的幅值曲线。
四、 实验数据分析)8cos(5)4sin(2)(t t t x ππ+=)52.0cos()48.0cos()(n n n x ππ+=1.周期方波序列的频谱分析首先定义一个功能函数dfsfunction[Xk]=dfs(xn,N)n=[0:1:N-1];k=[0:1:N-1];WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;(1)L=5,N=20;%题1.(1)L=5;N=20;%对于(2),(3),(4)问,只要修改L,N的数值就好。
n=1:N;xn=[ones(1,L),zeros(1,N-L)];Xk=dfs(xn,N);magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]);k=[-N/2:N/2];figure(1)subplot(2,1,1);stem(n,xn);xlabel('n');ylabel('xtide(n)');title('DFS of SQ.wave:L=5,N=20');subplot(2,1,2);stem(k,magXk);axis([-N/2,N/2,0,16]);xlabel('k');ylabel('Xtide(k)');(2)L=5,N=40;(3).L=5,N=60(4)L=7,N=60;结果分析:虽然周期序列不存在FT,但是一个周期序列可以利用其DFS系数X(k)表示它的频谱分布规律,从以上各频谱图可以看出,随着补零点数的增加,周期序列的谐波次数越来越多,其频谱的包络线越来越平滑连续,更能反映幅度值随时间的变化。
《数字信号处理》·实验一实验题目:离散时间信号的时域分析教师:杨鉴专业:电子信息科学与技术学号:姓名:Q1.29 运行程序P 1.5,以产生所有相关的信号MATLAB 程序代码如下:%程序 p1.5 通过平均的信号平滑 clf; R=51;d=0.8*(rand(R,1)-0.5); m=0:R-1;s=2*m.*(0.9.^m); x=s+d';subplot(2,1,1);plot(m,d','r-',m,s,'g--',m,x,'b-.'); xlabel('时间序号n'); ylabel('振幅'); legend('d[n]','s[n]','x[n]');x1=[0 0 x]; x2=[0 x 0]; x3=[x 0 0]; y=(x1+x2+x3)/3; subplot(2,1,2);plot(m,y(2:R+1),'r-',m,s,'g--'); legend('y[n]','s[n]');xlabel('时间序号n'); ylabel('振幅');5101520253035404550-50510时间序号n振幅d[n]s[n]x[n]051015202530354045502468时间序号n振幅y[n]s[n]Q 1.30 未污染的信号s[n]是什么样的形式?加性噪声d[n] 是什么样的形式? 信号s[n] 的MATLAB 程序代码如下:clf; R=51; m=0:R-1;s=2*m.*(0.9.^m); plot(m,s,'b-.'); xlabel('时间序号n'); ylabel('振幅');legend('未污染信号s[n]');510152025303540455001234567时间序号n振幅未污染信号s[n]信号d[n]的MATLAB 程序代码如下: clf; R=51;d=0.8*(rand(R,1)-0.5); m=0:R-1;plot(m,d','r-'); xlabel('时间序号n'); ylabel('振幅');legend('加性噪声d[n]');05101520253035404550-0.4-0.3-0.2-0.100.10.20.30.4时间序号n振幅加性噪声d[n]Q 1.31使用语句x=s+d 能产生被噪声污染的信号吗?若不能,为什么?答:不能,因为s 和d 均是 矩阵,d 与s 要想相加必须匹配,而矩阵d 本身与矩阵s 不匹配,必须把d 转置变为d'才能与s 进行相加。
数字信号处理实验报告实验一 信号、系统及系统响应一、实验目的(1) 熟悉连续信号经理想采样前后的频谱变化关系, 加深对时域采样定理的理解。
(2) 熟悉时域离散系统的时域特性。
(3) 利用卷积方法观察分析系统的时域特性。
(4) 掌握序列傅里叶变换的计算机实现方法, 利用序列的傅里叶变换对连续信号、 离散信号及系统响应进行频域分析。
二、实验原理与方法 1. 时域采样定理:对一个连续信号xa(t)进行理想采样的过程如下: xa1(t)=xa(t)p(t)其中xa1(t)为xa(t)的理想采样,p(t)为周期冲击脉冲。
xa1(t)的傅里叶变换Xa1(j Ω)为:11()[()]m Xa j Xa j m s T +∞=-∞Ω=Ω-Ω∑表明Xa1(j Ω)为Xa(j Ω)的周期延拓,其延拓周期为采样角频率(s Ω=2π/T )。
离散信号和系统在时域均可用序列来表示。
2. LTI 系统的输入输出关系: y(n)=x(n)*h(n)=()()m x m h n m +∞=-∞-∑()()()j j j Y e X e H e ωωω=三、实验内容1. 分析采样序列的特性。
1) 取模拟角频w=70.7*pi rad/s ,采样频率fs=1000Hz>2w ,发现无频谱混叠现象。
2) 改变采样频率, fs=300 Hz<2w ,频谱产生失真。
3) 改变采样频率, fs=200Hz<2w,频谱混叠,产生严重失真2. 时域离散信号、系统和系统响应分析。
1) 观察信号xb(n)和系统hb(n)的时域和频域特性;利用线性卷积求信号xb(n)通过系统hb(n)的响应y(n),比较所求响应y(n)和hb(n)的时域及频域特性,注意它们之间有无差别,绘图说明,并用所学理论解释所得结果。
2) 观察系统ha(n)对信号xc(n)的响应特性。
可发现:信号通过系统,相当于x(n)与系统函数h(n)卷积,时域卷积即对应频域函数相乘。
数字信号处理实验一1.完成本文档内容的自学阅读和其中各例题后子问题;Q1.1运行程序P1.1,以产生单位样本序列u[n]并显示它。
答: clf;n=-10:20;u=[zeros(1,10) 1 zeros(1,20)];stem(n,u);xlabel('时间序号n');ylabel('振幅');title('单位样本序列');axis([-10 20 0 1.2])Q1.2命令clf,axis,title,xlabel和ylabel的作用是什么?答:clf清除图对象,axis 控制轴刻度和风格的高层指令,title 设置图名,xlabel和ylabel设置横纵坐标轴名称。
Q1.3修改程序P1.1以产生带有延时11个单位样本的延迟单位样本序列ud[n]。
运行修改的程序并显示产生的序列。
答:clf;n=0:30;ud=[zeros(1,11) 1 zeros(1,19)];stem(n,ud);xlabel('时间序号n');ylabel('振幅');title('单位样本序列');axis([0 30 0 1.2])Q1.4修改程序P1.1以产生单位步长序列s[n].运行修改后程序并显示产生的序列。
答:clf;n = 0:30;u = [1.*n];stem(n,u);title('Unit Sample Sequence');axis([0 30 0 30])Q1.5修改程序P1.1,以产生带有超前7个样本的延时单位阶跃序列sd[n]。
运行修改后的程序并显示产生的序列。
答:clf;n = -15:30;s=[zeros(1,8) ones(1,38)];stem(n,s);xlabel('Time index n');ylabel('Amplitude'); title('Unit Sample Sequence');axis([-15 30 0 1.2]);Q1.6 运行程序P1.2,以产生复数值的指数序列。
一、实验背景数字信号处理是现代通信、电子技术、计算机科学等领域的重要基础。
随着科技的不断发展,数字信号处理技术已经广泛应用于各个领域。
为了更好地理解和掌握数字信号处理技术,我们进行了数字信号实验,通过实验加深对数字信号处理理论知识的理解和实际应用。
二、实验目的1. 理解数字信号与模拟信号的区别,掌握数字信号的基本特性。
2. 掌握数字信号的采样、量化、编码等基本过程。
3. 熟悉数字信号处理的基本方法,如滤波、变换等。
4. 提高动手实践能力,培养创新意识。
三、实验内容1. 数字信号的产生与观察首先,我们通过实验软件生成了一些基本的数字信号,如正弦波、方波、三角波等。
然后,观察这些信号在时域和频域上的特性,并与模拟信号进行对比。
2. 数字信号的采样与量化根据奈奎斯特采样定理,我们选取合适的采样频率对模拟信号进行采样。
在实验中,我们设置了不同的采样频率,观察信号在时域和频域上的变化,验证采样定理的正确性。
同时,我们还对采样信号进行了量化,观察量化误差对信号的影响。
3. 数字信号的编码与解码为了便于信号的传输和存储,我们对数字信号进行了编码。
在实验中,我们采用了两种编码方式:脉冲编码调制(PCM)和非归一化脉冲编码调制(A律PCM)。
然后,我们对编码后的信号进行解码,观察解码后的信号是否与原始信号一致。
4. 数字信号的滤波与变换数字滤波是数字信号处理中的重要环节。
在实验中,我们分别实现了低通滤波、高通滤波、带通滤波和带阻滤波。
通过对滤波前后信号的观察,我们了解了滤波器的作用和性能。
此外,我们还进行了离散傅里叶变换(DFT)和快速傅里叶变换(FFT)实验,掌握了信号在频域上的特性。
5. 实际应用案例分析为了更好地理解数字信号处理在实际中的应用,我们选取了两个实际案例进行分析。
第一个案例是数字音频处理,通过实验软件对音频信号进行滤波、压缩等处理。
第二个案例是数字图像处理,通过实验软件对图像进行边缘检测、图像增强等处理。
实验一信号、系统及系统响应
1、实验目的
认真复习采样理论、离散信号与系统、线性卷积、序列的z 变换及性质等有关内容;掌握离散时间序列的产生与基本运算,理解离散时间系统的时域特性与差分方程的求解方法,掌握离散信号的绘图方法;
熟悉序列的z 变换及性质,理解理想采样前后信号频谱的变化。
2、实验内容
a. 产生长度为500 的在[0,1]之间均匀分布的随机序列,产生长度为500 的均值为0 单位方差的高斯分布序列。
clc
y1=rand(500);
x1=linspace(0,1,100);
yn=hist(y1,x1);
yn=yn/length(y1);
bar(x1,yn);
title('[0,1]均匀分布');
figure;
y2=randn(1,500);
ymin=min(y2);
ymax=max(y2);
x2=linspace(ymin,ymax,100);
ym=hist(y2,x2);
ym=ym/length(y2);
bar(x2,ym);
title('[0,1]高斯分布');
b. 线性时不变系统单位脉冲响应为h(n)=(0.9)n u(n),当系统输入为x(n)=R10(n)时,求系统的零状态响应,并绘制波形图。
function [x,n]=stepseq(n0,ns,ne)
n=[ns:ne];
x=[(n-n0)>=0];
function [y,ny]=conv_m(x,nx,h,nh)
ny1=nx(1)+nh(1);
ny2=nx(length(x))+nh(length(h));
ny=[ny1:ny2];
y=conv(x,h);
h=((0.9).^n).*stepseq(0,-5,50);
subplot(3,1,1);
stem(n,x,'filled');
axis([-5,50,0,2]);
ylabel('X(n)');
subplot(3,1,2);
stem(n,h,'filled');
axis([-5,50,0,2]); ylabel('h(n)');
[y,ny]=conv_m(x,n,h,n); subplot(3,1,3);
stem(ny,y,'filled');
axis([-5,50,0,8]); xlabel('n');
ylabel('y(n)');
c. 描述系统的差分方程为:y(n)-y(n-1)+0.9y(n-2)=x(n),其中x(n)为激励,y(n)为响应。
计算并绘制n=20,30,40,50,60,70,80,90,100 时的系统单位脉冲响应h(n);
计算并绘制n=20,30,40,50,60,70,80,90,100 时的系统单位阶跃响应s(n);
由h(n)表征的这个系统是稳定系统吗?
d. 序列x(n)=(0.8)n u(n),求DTFT[x(n)],并画出它幅度、相位,实部、虚部的波形图。
观察它是否具有周期性?
function [x,n]=stepseq(n0,ns,ne)
n=[ns:ne];
x=[(n-n0)>=0];
clc;
N=50;
n=0:N-1;
b=[1 0];
a=[1 -0.7];
[H,w]=freqz(b,a,N);
subplot(211);
plot(w/pi,abs(H);
title('输入为cos(0.5*pi*n)时的稳态响应');
h=impz(b,a);
x=cos(0.5*pi*n).*stepseq(0,0,N-1);
[y,yn]=conv_m(x,n,h,n);
tiplot(yn,y);
subplot(2,1,2);
tle('输入为cos(0.5*pi*n)时的稳态响应');
e. 线性时不变系统的差分方程为y(n)=0.7y(n-1)+x(n),求系统的频率响应H(e jω),如果系统输入为x(n)=cos(0.05πn)u(n),求系统的稳态响应并绘图。
function[y,yn]=conv_m(x,nx,h,nh)
ny1=nx(1)+nh(1);
ny2=nx(length(x))+nh(length(h));
ny=[ny1:ny2];
y=conv(x,h);
f. 设连续时间信号x(t)=e-1000|t|,计算并绘制它的傅立叶变换;如果用采样频率为每秒
5000 样本对x(t)进行采样得到x1(n),计算并绘制X1(e jω),用x1(n)重建连续信号x(t),并对结果进行讨论;如果用采样频率为每秒1000 样本对x(t)进行采样得到x2(n),计算并绘制X2(e jω),用x2(n)重建连续信号x(t),并对结果进行讨论。
加深对采样定理的理解。
傅立叶变换
采样频率fs=5000时,
采样频率fs=1000时,
g. 设X1(z)=z+2+3z-1,X2(z)=2z2+4z+3+5z-1,用卷积方法计算X1(z)X2(z)。
h. 已知系统方程为y(n)=0.9y(n-1)+x(n),求系统函数H(z)并绘制其零极点图,求系统的频率响应H(e jω)并绘制其幅度和相位波形,求系统的单位脉冲响应h(n)并绘图。
i. 系统方程为:y(n)-0.4y(n-1)+0.75y(n-2)=2.2403x(n)2.4908x(n-1)+2.2403x(n-2),验证系统是否为线性系统、是否为时不变系统
验证系统为线形系统
验证系统为时不变系统。