数字信号处理第三次实验报告
- 格式:doc
- 大小:172.77 KB
- 文档页数:11
数字信号处理实验报告姓名:班级:通信学号:实验名称:频域抽样定理验证实验类型:验证试验指导教师:实习日期:2013.频域采样定理验证实验一. 实验目的:1. 加深对离散序列频域抽样定理的理解2.了解由频谱通过IFFT 计算连续时间信号的方法3.掌握用MATLAB 语言进行频域抽样与恢复时程序的编写方法 4、用MATLAB 语言将X(k)恢复为X(z)及X(e jw )。
二. 实验原理:1、1、频域采样定理: 如果序列x(n)的长度为M ,频域抽样点数为N ,则只有当频域采样点数N ≥M 时,才有x N (n)=IDFT[X(k)]=x(n),即可由频域采样X(k)无失真的恢复原序列 x(n)。
2、用X(k)表示X(z)的内插公式:∑-=-----=10111)(1)(N k kNNzWz k X Nz X内插函数: zWzkNNN z 1k111)(-----=ϕ频域内插公式:∑-=-=10)2()()(N K j k Nk X e X πωϕω频域内插函数:e N j N N )21()2sin()2sin(1)(--=ωωωωϕ三. 实验任务与步骤:实验一:长度为26的三角形序列x(n)如图(b)所示,编写MATLAB 程序验证频域抽样定理。
实验二:已知一个时间序列的频谱为X(e jw )=2+4e -jw +6e -j2w +4e -j3w +2e -j4w分别取频域抽样点数N为3、5和10,用IPPT计算并求出其时间序列x(n),用图形显示各时间序列。
由此讨论原时域信号不失真地由频域抽样恢复的条件。
实验三:由X32(k)恢复X(z)和X(e jw)。
四.实验结论与分析:实验一:源程序:M=26;N=32;n=0:M; %产生M长三角波序列x(n)xa=0:floor(M/2);xb= ceil(M/2)-1:-1:0; xn=[xa,xb];Xk=fft(xn,512); %1024点FFT[x(n)], 用于近似序列x(n)的TFX32k=fft(xn,32); %32点FFT[x(n)]x32n=ifft(X32k); %32点IFFT[X32(k)]得到x32(n)X16k=X32k(1:2:N); %隔点抽取X32k得到X16(K)x16n=ifft(X16k,N/2); %16点IFFT[X16(k)]得到x16(n)subplot(3,2,2);stem(n,xn,'.');box ontitle('(b) 三角波序列x(n)');xlabel('n');ylabel('x(n)');axis([0,32,0,20])k=0:511;wk=2*k/512;subplot(3,2,1);plot(wk,abs(Xk));title('(a)FT[x(n)]');xlabel('\omega/\pi');ylabel('|X(e^j^\omega)|');axis([0,1,0,200])k=0:N/2-1;subplot(3,2,3);stem(k,abs(X16k),'.');box ontitle('(c) 16点频域');xlabel('k');ylabel('|X_1_6(k)|');axis([0,8,0,200])n1=0:N/2-1;subplot(3,2,4);stem(n1,x16n,'.');box ontitle('(d) 16点IDFT[X_1_6(k)]');xlabel('n');ylabel('x_1_6(n)');axis([0,32,0,20])k=0:N-1;subplot(3,2,5);stem(k,abs(X32k),'.');box ontitle('(e) 32点频域采样');xlabel('k');ylabel('|X_3_2(k)|');axis([0,16,0,200])n1=0:N-1;subplot(3,2,6);stem(n1,x32n,'.');box ontitle('(f) 32点IDFT[X_3_2(k)]');xlabel('n');ylabel('x_3_2(n)');axis([0,32,0,20])结果如下所示:实验一分析:序列x(n)的长度M=26,由图中可以看出,当采样点数N=16<M时,x16(n)确实等于原三角序列x(n)以16为周期的周期延拓序列的主值序列。
实验一混叠现象的时域与频域表现一、实验目的用不同的频率的抽样对某一周期信号进行采集,考察是否发生频谱混叠,用matlab 写出仿真程序,并观察与分析,最后的出结论。
二、实验内容考虑频率分别为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)因此它们在时域表现为一个序列。
实际上,当给定频率为(10k±3Hz)的余弦信号,且采样频率为10Hz 时,均表现为g1[n]=cos(0.6πn)的序列。
以下的matlab 程序画出三序列的时域和频域图(图9―32),非常直观地说明了混叠现象。
实验程序: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,则三信号采样后不会发生频率混叠,可运行以下的程序,观察序列的频谱。
上机频谱分析过程及结果图 上机实验三:IIR 低通数字滤波器的设计姓名:赵晓磊 学号:赵晓磊 班级:02311301 科目:数字信号处理B一、实验目的1、熟悉冲激响应不变法、双线性变换法设计IIR 数字滤波器的方法。
2、观察对实际正弦组合信号的滤波作用。
二、实验内容及要求1、分别编制采用冲激响应不变法、双线性变换法设计巴特沃思、切贝雪夫I 型,切贝雪夫II 型低通IIR 数字滤波器的程序。
要求的指标如下:通带内幅度特性在低于πω3.0=的频率衰减在1dB 内,阻带在πω6.0=到π之间的频率上衰减至少为20dB 。
抽样频率为2KHz ,求出滤波器的单位取样响应,幅频和相频响应,绘出它们的图,并比较滤波性能。
(1)巴特沃斯,双线性变换法Ideal And Designed Lowpass Filter Magnitude Responsefrequency in Hz|H [e x p (j w )]|frequency in pi units|H [ex p (j w )]|Designed Lowpass Filter Phase Response in radians frequency in pi unitsa r g (H [e x p (j w )](2)巴特沃斯,冲激响应不变法(3)切贝雪夫I 型,双线性变换法(4)切贝雪夫Ⅱ型,双线性变换法综合以上实验结果,可以看出,使用不同的模拟滤波器数字化方法时,滤波器的性能可能产生如下差异:使用冲击响应不变法时,使得数字滤波器的冲激响应完全模仿模拟滤波器的冲激响应,也就是时域逼急良好,而且模拟频率和数字频率之间呈线性关系;但频率响应有混叠效应。
frequency in Hz|H [e x p (j w )]|Designed Lowpass Filter Magnitude Response in dBfrequency in pi units|H [e x p (j w )]|frequency in pi unitsa r g (H [e x p (j w )]Ideal And Designed Lowpass Filter Magnitude Responsefrequency in Hz|H [e x p (j w )]|frequency in pi units|H [e xp (j w )]|frequency in pi unitsa r g (H [e x p (j w )]Ideal And Designed Lowpass Filter Magnitude Responsefrequency in Hz|H [e x p (j w )]|frequency in pi units|H [ex p (j w )]|Designed Lowpass Filter Phase Response in radiansfrequency in pi unitsa r g (H [e x p (j w )]使用双线性变换法时,克服了多值映射的关系,避免了频率响应的混叠现象;在零频率附近,频率关系接近于线性关系,高频处有较大的非线性失真。
实验三:用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 其它n n n n n n x n R n x ,074,330,4)(,074,830,1)()()(3241 选择FFT 的变换区间N 为8和16 两种情况进行频谱分析。
分别打印其幅频特性曲线。
并进行对比、分析和讨论。
(2)对以下周期序列进行谱分析。
4()c o s 4x n n π= 5()c o s (/4)c o s (/8)x n n n ππ=+ 选择FFT 的变换区间N 为8和16 两种情况分别对以上序列进行频谱分析。
分别打印其幅频特性曲线。
并进行对比、分析和讨论。
(3)对模拟周期信号进行谱分析6()cos8cos16cos20x t t t t πππ=++选择 采样频率Hz F s 64 ,变换区间N=16,32,64 三种情况进行谱分析。
数字信号处理实验报告姓名:班级:通信学号:实验名称:频域抽样定理验证实验类型:验证试验指导教师:实习日期:2013.频域采样定理验证实验一. 实验目的:1. 加深对离散序列频域抽样定理的理解2.了解由频谱通过IFFT 计算连续时间信号的方法3.掌握用MATLAB 语言进行频域抽样与恢复时程序的编写方法 4、用MATLAB 语言将X(k)恢复为X(z)及X(e jw )。
二. 实验原理:1、1、频域采样定理: 如果序列x(n)的长度为M ,频域抽样点数为N ,则只有当频域采样点数N ≥M 时,才有x N (n)=IDFT[X(k)]=x(n),即可由频域采样X(k)无失真的恢复原序列 x(n)。
2、用X(k)表示X(z)的内插公式:∑-=-----=10111)(1)(N k kNN zWz k X Nz X内插函数: zWzkNNN z 1k111)(-----=ϕ频域内插公式:∑-=-=10)2()()(N Kj k Nk X e X πωϕω频域内插函数:e N j N N )21()2sin()2sin(1)(--=ωωωωϕ三. 实验任务与步骤:实验一:长度为26的三角形序列x(n)如图(b)所示,编写MATLAB 程序验证频域抽样定理。
实验二:已知一个时间序列的频谱为X(e jw )=2+4e -jw +6e -j2w +4e -j3w +2e -j4w分别取频域抽样点数N为3、5和10,用IPPT计算并求出其时间序列x(n),用图形显示各时间序列。
由此讨论原时域信号不失真地由频域抽样恢复的条件。
实验三:由X32(k)恢复X(z)和X(e jw)。
四.实验结论与分析:实验一:源程序:M=26;N=32;n=0:M; %产生M长三角波序列x(n)xa=0:floor(M/2);xb= ceil(M/2)-1:-1:0; xn=[xa,xb];Xk=fft(xn,512); %1024点FFT[x(n)], 用于近似序列x(n)的TF X32k=fft(xn,32); %32点FFT[x(n)]x32n=ifft(X32k); %32点IFFT[X32(k)]得到x32(n)X16k=X32k(1:2:N); %隔点抽取X32k得到X16(K)x16n=ifft(X16k,N/2); %16点IFFT[X16(k)]得到x16(n)subplot(3,2,2);stem(n,xn,'.');box ontitle('(b) 三角波序列x(n)');xlabel('n');ylabel('x(n)');axis([0,32,0,20])k=0:511;wk=2*k/512;subplot(3,2,1);plot(wk,abs(Xk));title('(a)FT[x(n)]');xlabel('\omega/\pi');ylabel('|X(e^j^\omega)|');axis([0,1,0,200])k=0:N/2-1;subplot(3,2,3);stem(k,abs(X16k),'.');box ontitle('(c) 16点频域');xlabel('k');ylabel('|X_1_6(k)|');axis([0,8,0,200])n1=0:N/2-1;subplot(3,2,4);stem(n1,x16n,'.');box ontitle('(d) 16点IDFT[X_1_6(k)]');xlabel('n');ylabel('x_1_6(n)');axis([0,32,0,20]) k=0:N-1;subplot(3,2,5);stem(k,abs(X32k),'.');box on title('(e) 32点频域采样');xlabel('k'); ylabel('|X_3_2(k)|');axis([0,16,0,200]) n1=0:N-1;subplot(3,2,6);stem(n1,x32n,'.');box on title('(f) 32点IDFT[X_3_2(k)]');xlabel('n'); ylabel('x_3_2(n)');axis([0,32,0,20])结果如下所示:实验一分析:序列x(n)的长度M=26,由图中可以看出,当采样点数N=16<M 时,x 16(n)确实等于原三角序列x(n)以16为周期的周期延拓序列的主值序列。
数字信号处理实验报告完整版[5篇模版]第一篇:数字信号处理实验报告完整版实验 1利用 T DFT 分析信号频谱一、实验目的1.加深对 DFT 原理的理解。
2.应用 DFT 分析信号的频谱。
3.深刻理解利用DFT 分析信号频谱的原理,分析实现过程中出现的现象及解决方法。
二、实验设备与环境计算机、MATLAB 软件环境三、实验基础理论T 1.DFT 与与 T DTFT 的关系有限长序列的离散时间傅里叶变换在频率区间的N 个等间隔分布的点上的 N 个取样值可以由下式表示:212 /0()|()()0 1Nj knjNk NkX e x n e X k k Nπωωπ--====≤≤-∑由上式可知,序列的 N 点 DFT ,实际上就是序列的 DTFT 在 N 个等间隔频率点上样本。
2.利用 T DFT 求求 DTFT方法 1 1:由恢复出的方法如下:由图 2.1 所示流程可知:101()()()Nj j n kn j nNn n kX e x n e X k W eNωωω∞∞----=-∞=-∞=⎡⎤==⎢⎥⎣⎦∑∑∑由上式可以得到:IDFT DTFT第二篇:数字信号处理实验报告JIANGSUUNIVERSITY OF TECHNOLOGY数字信号处理实验报告学院名称:电气信息工程学院专业:班级:姓名:学号:指导老师:张维玺(教授)2013年12月20日实验一离散时间信号的产生一、实验目的数字信号处理系统中的信号都是以离散时间形态存在的,所以对离散时间信号的研究是数字信号的基本所在。
而要研究离散时间信号,首先需要产生出各种离散时间信号。
使用MATLAB软件可以很方便地产生各种常见的离散时间信号,而且它还具有强大绘图功能,便于用户直观地处理输出结果。
通过本实验,学生将学习如何用MATLAB产生一些常见的离散时间信号,实现信号的卷积运算,并通过MATLAB中的绘图工具对产生的信号进行观察,加深对常用离散信号和信号卷积和运算的理解。
实验三 抽样一、实验原理抽样过程基于两个基本原理:混叠合重建,涉及正弦波合现行调频信号的混叠。
二、 实验内容.3.3.1抽样引起的混叠 由于在MATLAB 中不能产生模拟信号,实验需要做实时t 轴的仿真。
因此,把仿真时的△t 与所研究的抽样周期Ts 明确地区分开始很重要的。
1. 正弦信号混叠对连续时间正弦信号考虑下面表达式:()()φπ+=t f t 02sin x可以按抽样频率ST s f 1=对()t x 抽样来获得离散时间信号[]()()⎪⎪⎭⎫ ⎝⎛+=====φπn f f t x t x s f n t nT t ss 0/2sin n x 2. 实验内容以不同组合的0f 和s f 绘出[]n x ,可以说明混叠问题。
以下,取抽样频率s f =8kHz.a. 首先,绘出一个被抽样的正弦波的单图。
令正弦波的频率为300Hz ,然后在10ms 长间隔上抽样。
相位φ可以任意指定。
使用stem 绘出产生的离散时间信号。
因为是用眼睛实现重建可视化信号包络,应该很容易看到正弦信号的轮廓。
b. 如果必要,使用plot 绘图。
在这种情况下,点用直线段连接 起来, 这样正弦信号的特点应该是明显的。
用直线段连接信号 样本是自离散时间样本产生连续时间信号的“信号重建”的 一 种方式。
它 不是抽样定理所说的理想重建,但对大多数的情形它已经是足够好,很有用。
c. 把正弦的频率从100Hz 变至475Hz,每次增加125Hz ,如在()a 部 分中那样,绘出一系列相应的图。
注意,正如所预期的那样, 显 现的正弦信号的频率在逐渐增加。
最好用subplot 指令把四 个图放在同一屏上。
d. 把正弦的频率从7525Hz 变至7900Hz ,每次增加125Hz ,正 如在()c 中那样,另外绘出一系列相应的图。
注意现在显现的正弦信号的频率在逐渐减少。
解释这一现象。
e.把正弦的频率从32100Hz变至32475Hz,每次增加125Hz,再次绘出一些列类似的图。
數字信號處理實驗報告實驗三、DFT和FFT1、實驗目の:(1)掌握DFT/FFT及其性質(2)掌握采用DFT/FFT做信號頻譜分析の方法(3)掌握利用DFT/FFT做序列の圓周卷積和線性卷積の方法2、實驗內容(1)用Matlab編程實現pp167 習題3.6。
在同一幅圖上表示你の結果。
實驗程序:clc;clear all;close all;b1=[2,1,4,2,3];[H1,w1]=freqz(b1,1,'whole'); %用freqz函數求x(n)のDTFT變換subplot(2,1,1);plot(w1,abs(H1));hold on;y1=fft(b1,5); %用fft函數求x(n)のDFT變換n1=0:4;k1=2*pi*n1/5;stem(k1,abs(y1));title('對x(n)進行DTFT和DFT變換')b2=[2,1,4,2,3 0 0 0];[H2,w2]=freqz(b2,1,'whole');subplot(2,1,2);plot(w2,abs(H2));hold on;y2=fft(b2,8);n2=0:7;k2=2*pi*n2/8;stem(k2,abs(y2))title('對補零後のx(n)進行DTFT和DFT變換')實驗結果:X(k)等於X(e^(jw))中w=2*π*k/5,並且對x(n)補零後のDFT抽樣點比之前更多。
(2)用Matlab編程實現pp168 習題3.11。
畫圖表示你の結果。
實驗程序:clc;clear all;close all;n=0:71;xn=cos(pi*n/6)+5*cos(pi*n/3)+4*sin(pi*n/7);y=fft(xn,72); %對x(n)進行72點DFTstem(n,abs(y));title('對x(n)做72點DFT');實驗結果:x(n)の周期為84,對序列進行72點截斷不能得到周期序列,進行頻譜分析時,其頻譜の周期延拓不是周期序列,所以會產生頻譜泄露。
数字信号处理实验三数字信号处理实验三是针对数字信号处理课程的一项实践性任务。
本实验旨在通过实际操作,加深对数字信号处理理论的理解,并培养学生的实验能力和问题解决能力。
在本实验中,我们将学习和实践以下内容:1. 实验目的本实验的目的是通过使用MATLAB软件进行数字信号处理,加深对数字信号处理基本概念和算法的理解,掌握数字信号的采样、量化、滤波等基本操作。
2. 实验器材在本实验中,我们将使用以下器材:- 个人计算机- MATLAB软件3. 实验步骤本实验的具体步骤如下:步骤一:信号生成首先,我们需要生成一个模拟信号,可以是正弦信号、方波信号或其他类型的信号。
在MATLAB中,我们可以使用相关函数生成这些信号。
生成信号的目的是为了后续的数字信号处理操作提供输入。
步骤二:信号采样在本步骤中,我们将对生成的模拟信号进行采样。
采样是指在一定的时间间隔内对信号进行离散化处理,得到离散时间上的信号序列。
在MATLAB中,我们可以使用采样函数对信号进行采样。
步骤三:信号量化在本步骤中,我们将对采样后的信号进行量化。
量化是指将连续的信号离散化为一组离散的幅值。
在MATLAB中,我们可以使用量化函数对信号进行量化。
步骤四:信号滤波在本步骤中,我们将对量化后的信号进行滤波。
滤波是指通过一系列滤波器对信号进行处理,以去除不需要的频率成分或噪声。
在MATLAB中,我们可以使用滤波函数对信号进行滤波。
步骤五:信号重构在本步骤中,我们将对滤波后的信号进行重构。
重构是指将离散化的信号恢复为连续的信号。
在MATLAB中,我们可以使用重构函数对信号进行重构。
步骤六:信号分析在本步骤中,我们将对重构后的信号进行分析。
分析是指对信号的频谱、功率等特性进行分析,以了解信号的特点和性能。
在MATLAB中,我们可以使用分析函数对信号进行分析。
4. 实验结果在完成以上步骤后,我们可以得到经过数字信号处理的结果。
这些结果可以是经过采样、量化、滤波和重构后的信号波形,也可以是信号的频谱、功率等特性。
数字信号处理实验报告林鸿运10282039 生医1002实验1 常见离散信号的matlab产生和图形显示五个常见离散信号1.单位抽样序列程序源代码:clcclear alln=0:10;x=[n==0];subplot(2,2,1);stem(n,x);title('单位抽样序列');xlabel('n');ylabel('x(n)');程序运行截图2.单位阶跃序列程序源代码:clcclear alln=0:10;x=[n>=0];subplot(2,2,1);stem(n,x);title('单位阶跃序列');xlabel('n');ylabel('x(n)');程序运行截图:3.正弦序列程序源代码:clcclear alln=0:20;A=5;f=2/pi;Fs=4;b=2*pi;x=A*sin(2*pi*f*n/Fs+b);subplot(2,2,1);stem(n,x);title('正弦序列');xlabel('n');ylabel('x(n)');程序运行截图:4.实指数序列程序源代码:clcclear alln=0:0.5:10;a=10;x=a.^n;subplot(2,2,1);stem(n,x);title('实指数序列');xlabel('n');ylabel('x(n)');程序运行截图:5.复指数序列程序源代码:clcclear alln=0:0.5:10;a=10;b=10x=exp((a+j*b)*n);subplot(2,2,1);stem(n,x);title('复指数序列');xlabel('n');ylabel('x(n)');程序运行截图:实验内容1.实验内容11.产生x(n)=δ(n+2)-2δ(n-1) (-5<=n<=5)序列的波形图2. 产生x(n)=u(n)-u (n-5) (0<=n<10)序列的波形图3. 产生x(n)=2sin(0.04πn+π/3) (0<=n<50)序列的波形图4. 产生x(n)=0.8n (0<=n<10)序列的波形图程序源代码:clcclear alln=-5:5;x=[(n+2)==0]-2*[(n-1)==0];subplot(2,2,1);stem(n,x);title('抽样序列');xlabel('n');ylabel('x(n)');n=0:10;x=[n>=0]-[(n-5)>=0];subplot(2,2,2);stem(n,x);title('阶跃序列');xlabel('n');ylabel('x(n)');n=0:50;x=2*sin(0.04*pi*n+pi/3); subplot(2,2,3);stem(n,x);title('正弦序列');xlabel('n');ylabel('x(n)');n=0:10;x=0.8.^n;subplot(2,2,4);stem(n,x);title('实指数序列'); xlabel('n');ylabel('x(n)');程序运行截图:产生复指数序列x(n)=e(-0.1+j0.3)n(-20<=n<20),画出它的实部、虚部、幅值和相位图,以此讨论复指数序列的性质程序源代码:clcclear alln=-20:20;x=exp((-0.1+0.3j)*n);subplot(2,2,1);stem(n,real(x));title('实部');xlabel('n');subplot(2,2,2);stem(n,imag(x));title('虚部');xlabel('n');subplot(2,2,3);stem(n,abs(x));title('幅值');xlabel('n');subplot(2,2,4);stem(n,(180/pi)*angle(x));title('相位');xlabel('n');程序运行截图:复指数序列的性质:2.实验内容2(1).产生x(n)= (n.^2).*{ [(n-5)>=0]-[(n-6)>=0]} +10*[n==0]+ 20*(0.5.^n).*{ [(n-4)>=0]-[(n-10)>=0]} (-10<=n<10)序列的样本,要求用四个框图分别显示表达式中的三个相加项和x(n)波形程序源代码:clcclear alln=-10:10;a=[(n-5)>=0]-[(n-6)>=0];b=[(n-4)>=0]-[(n-10)>=0];x1=(n.^2).*a;x2=10*[n==0];x3=20*(0.5.^n).*b;x=x1+x2+x3;subplot(2,2,1);stem(n,x1);title('x1(n)');xlabel('n');subplot(2,2,2);stem(n,x2);title('x2(n)');xlabel('n');subplot(2,2,3);stem(n,x3);title('x3(n)');xlabel('n');subplot(2,2,4);stem(n,x);title('x(n)');xlabel('n');程序运行截图:(2)a .程序源代码:clcclear alln=-20:20;x1=cos(0.3*pi*n);x2=cos(0.4*pi*n);subplot(2,1,1);stem(n,x1);title('余弦序列1');xlabel('n');ylabel('x1(n)');subplot(2,1,2);stem(n,x2);title('余弦序列2');xlabel('n');ylabel('x2(n)');程序截图:分析:两个序列都是周期序列,基本周期是20,如果f0=K/N是一个有理数,N为周期;K代表一个周期里有多少个震荡。
武汉工程大学实验报告实验课程数字信号处理一、实验目的(1)加深对离散傅里叶变换(DFT)基本概念的理解。
(2)了解有限长序列傅里叶变换(DFT)与周期序列傅里叶级数(DFS)、离散时间傅里叶变换(DTFT)的联系。
(3)掌握用MA TLAB语言进行离散傅里叶变换和逆变换的方法。
二、实验内容1.有限长序列的傅里叶变换(DFT)和逆变换(IDFT)2.有限长序列DFT与周期序列DFS的联系3.有限长序列DFT与离散时间傅里叶变换DTFT的联系三、实验环境MA TLAB7.0四丶:实验内容、原理描述及实验结果1.离散时间信号的表示离散时间信号定义为一时间函数,它只在某些离散的瞬时给出函数值,而在其他处无定义。
因此,它是时间上不连续按一定先后次序排列的一组数的集合,故称为时间序列,简称序列,通常表示为{x(n)} -∞<n<+∞(1)单位抽样序列用Matlab编写的实验程序n0=0;n1=-5;n2=5;n=[n1:n2];nc=length(n);x=zeros(1,nc);for i=1:ncif n(i)==n0x(i)=1;endendstem(n,x)xlabel('n');ylabel('x(n)');title('单位抽样序列');grid(2)单位阶跃序列用Matlab编写编写的生成单位阶跃序列的函数n0=0;n1=-5;n2=5;n=[n1:n2];x=[(n-n0)>=0];stem(n,x)xlabel('n');ylabel('x(n)');title('单位阶跃序列');grid图形如下(3)指数序列程序代码如下:n=[0:20];x=(0.78).^n;stem(n,x)xlabel('n');ylabel('x(n)');title('指数序列'); grid图形如下:(4)正余弦序列用matlab编写正弦序列x(n)=5sin(0.1πn+π/3)函数的程序。
实验三 用双线性变换法设计IIR 数字滤波器1. 实验目的(1) 熟悉用双线性变换法设计IIR 数字滤波器的原理与方法。
(2) 掌握数字滤波器的计算机仿真方法。
(3) 通过观察对实际心电图信号的滤波作用, 获得数字滤波的感性知识。
2. 实验内容(1) 用双线性变换法设计一个巴特沃斯低通IIR 数字滤波器。
设计指标参数为:在通带内频率低于0.2π时,最大衰减小于1dB ;在阻带内[0.3π, π] 频率区间上,最小衰减大于15dB 。
(2) 以 0.02π为采样间隔, 打印出数字滤波器在频率区间[0, π/2]上的幅频响应特性曲线。
(3) 用所设计的滤波器对实际心电图信号采样序列(在本实验后面给出)进行仿真滤波处理,并分别打印出滤波前后的心电图信号波形图, 观察总结滤波作用与效果。
3.实验原理为了克服用脉冲响应不变法产生频谱混叠现象,可以采用非线性频率压缩方法(正切变换),从s 平面映射到s1平面,再从s1平面映射到z 平面,即实现了双线性变换。
4. 实验步骤(1) 复习有关巴特沃斯模拟滤波器设计和用双线性变换法设计IIR 数字滤波器的内容, 按照例 6.4.2, 用双线性变换法设计数字滤波器系统函数H(z)。
例 6.4.2 中已求出满足本实验要求的数字滤波器系统函数:(2-1)161212120.0007378(1)()(1 1.2680.705)(1 1.01060.3583)(10.9040.215)z H z zz zz z z -------+=-+-+-+31()k K H z ==∏(2-2)A=0.09036B1=1.2686, C1=-0.7051 B2=1.0106, C2=-0.3583 B3=0.9044, C3=-0.2155由(2-1)式和(2-2)式可见,滤波器H(z)由三个二阶滤波器H1(z),H2(z)和H3(z)级联组成,如图 2-1 所示。
(2) 编写滤波器仿真程序,计算H(z)对心电图信号采样序列x(n)的响应序列y(n)。
数字信号处理实验三报告数字信号处理上机实验报告实验一系统响应及系统稳定性一、实验目的(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) 求出系统的单位冲响应,画出其波形。
实验程序:A=[1,-0.9];B=[0.05,0.05]; %%系统差分方程系数向量 B 和 Ax1n=[1 1 1 1 1 1 1 1 zeros(1,50)]; %产生信号 x1(n)=R8(n)x2n=ones(1,8); %产生信号 x2(n)=u(n)y1n=filter(B,A,x1n); %求系统对 x1(n)的响应 y1(n)n=0:length(y1n)-1;subplot(2,2,1);stem(n,y1n,".");title("(a) 系统对 R_8(n)的响应y_1(n)");xlabel("n");ylabel("y_1(n)");y2n=filter(B,A,x2n); %求系统对 x2(n)的响应 y2(n) n=0:length(y2n)-1;subplot(2,2,2);stem(n,y2n,".");title("(b) 系统对 u(n)的响应y_2(n)");xlabel("n");ylabel("y_2(n)");hn=impz(B,A,58); %求系统单位脉冲响应 h(n)n=0:length(hn)-1;subplot(2,2,3);y=hn;stem(n,hn,".");title("(c) 系统单位脉冲响应h(n)");xlabel("n");ylabel("h(n)");运行结果图:(2)给定系统的单位脉冲响应为h1(n)=R10(n)h2(n)= δ(n)+2.5δ(n-1)+2.5δ(n-2)+δ(n-3)用线性卷积法分别求系统h1(n)和h2(n)对x1(n)=R8(n)的输出响应,波形。
数字信号处理实验报告13050Z011305024237数字信号处理实验报告实验一 采样定理(2学时) 内容:给定信号为()exp()cos(100**)x t at at π=-,其中a 为学号, (1)确定信号的过采样和欠采样频率(2)在上述采样频率的条件下,观察、分析、记录频谱,说明产生上述现象的原因。
基本要求:验证采样定理,观察过采样和欠采样后信号的频谱变化。
a=37; %1305024237 fs=10000; %抽样频率 t=0:1/fs:0.05;x1=exp(-a*t).*cos(100*pi*a*t);N=length(x1); %信号时域横轴向量 k=(0:N-1); %信号频域横轴向量 Y1=fft(x1); Y1=fftshift(Y1); subplot(2,1,1); plot(t,x1);hold on ; stem(t,x1,'o'); subplot(2,1,1); plot(k,abs(Y1)); gtext('1305024237');051015201305024237 刘德文a=37; %1305024237 fs=800; %抽样频率 t=0:1/fs:0.05;x1=exp(-a*t).*cos(100*pi*a*t);N=length(x1); %信号时域横轴向量 k=floor(-(N-1)/2:(N-1)/2); %信号频域横轴向量 Y1=fft(x1); Y1=fftshift(Y1); subplot(2,1,1); plot(t,x1);hold on ; stem(t,x1,'o'); subplot(2,1,2); plot(k,abs(Y1)); title('1305024237 ');0.0050.010.0150.020.0250.030.0350.040.0450.05-20-15-10-50510152005101305024237 刘德文实验二 信号谱分析(2学时) 内容: 给定信号为:(1)()cos(100**)x t at π= (2)()exp()x t at =-(3)()exp()cos(100**)x t at at π=-其中a 为实验者的学号,记录上述各信号的频谱,表明采样条件,分析比较上述信号频谱的区别。
实验三:离散时间信号的频域分析一.实验目的1.在学习了离散时间信号的时域分析的基础上,对这些信号在频域上进行分析,从而进一步研究它们的性质。
2.熟悉离散时间序列的3种表示方法:离散时间傅立叶变换(DTFT),离散傅立叶变换(DFT)和Z变换。
二.实验相关知识准备1.用到的MATLAB命令运算符和特殊字符:< > .* ^ .^语言构造与调试:error function pause基本函数:angle conj rem数据分析和傅立叶变换函数:fft ifft max min工具箱:freqz impz residuez zplane三.实验内容1.离散傅立叶变换在MATLAB中,使用fft可以很容易地计算有限长序列x[n]的离散傅立叶变换。
此函数有两种形式:y=fft(x)y=fft(x,n) 求出时域信号x的离散傅立叶变换n为规定的点数,n的默认值为所给x的长度。
当n取2的整数幂时变换的速度最快。
通常取大于又最靠近x的幂次。
(即一般在使用fft函数前用n=2^nextpow2(length(x))得到最合适的n)。
当x的长度小于n时,fft函数在x的尾部补0,以构成长为n点数据。
当x的长度大于n时,fft函数将序列x截断,取前n点。
一般情况下,fft求出的函数多为复数,可用abs及angle分别求其幅度和相位。
注意:栅栏效应,截断效应(频谱泄露和谱间干扰),混叠失真例3-1:fft函数最通常的应用是计算信号的频谱。
考虑一个由100hz和200hz正弦信号构成的信号,受零均值随机信号的干扰,数据采样频率为1000hz。
通过fft函数来分析其信号频率成分。
t=0:0.001:1;%采样周期为0.001s,即采样频率为1000hzx=sin(2*pi*100*t)+sin(2*pi*200*t)+1.5*rand(1,length(t));%产生受噪声污染的正弦波信号subplot(2,1,1);plot(x(1:50));%画出时域内的信号y=fft(x,512);%对x进行512点的fftf=1000*(0:256)/512;%设置频率轴(横轴)坐标,1000为采样频率subplot(2,1,2);plot(f,y(1:257));%画出频域内的信号实验内容3-2:频谱泄漏和谱间干扰假设现有含有三种频率成分的信号x(t)=cos(200πt)+sin(100πt)+cos(50πt)用DFT分析x(t)的频谱结构。
一、实验目的加深对LTI 系统的理解以及分析。
二、实验原理系统输入、输出关系可用以下差分方程描述:∑∑==-=-Mk k Nk kk n x p k n y d][][系统响应为如下的卷积计算式:∑∞-∞=-=*=m m n h m x n h n x n y ][][][][][当Nk d k ,...2,1,0==时,h[n]是有限长度的(n :[0,M]),称系统为FIR 系统;反之,称系统为IIR 系统。
系统的转移函数为 NN M M z d z d d z p z p p z D z p z H ----++++++==......)()()(110110三、实验内容1、用函数y=filter(p,d,x)实现差分方程的仿真,也可以用函数 y=conv(x,h)计算卷积,用y=impz(p,d,N)求系统的冲激响应,再用卷积来计算任意信号作用于系统的响应。
求两个系统]1[][]2[125.0]1[75.0][--=-+-+n x n x n y n y n y]}4[]3[]2[]1[{25.0][-+-+-+-=n x n x n x n x n y 各自的冲激响应,并且比较filter和conv 函数的区别实验代码如下:clear%离散时间序列x[n] n = 0:9; x = 5*exp(-n); subplot(4,2,1); stem(n,x)title('离散时间序列x[n]');%用filter函数滤波a1 = [1 , 0.75 , 0.125];b1 = [1 , -1];y1 = filter(b1,a1,x);subplot(4,2,3);stem(n,y1)title('filter滤波1');a2 = [1];b2 = [0 , 0.25 , 0.25 , 0.25 , 0.25];y2 = filter(b2,a2,x);subplot(4,2,4);stem(n,y2)title('filter滤波2');%求系统的冲激响应h1 = impz(b1,a1,10);subplot(4,2,5);stem(n,h1)title('冲激响应1');h2 = impz(b2,a2,10);subplot(4,2,6);stem(n,h2)title('冲激响应2');%用conv函数计算卷积y3 = conv(x,h1);subplot(4,2,7);stem(y3)title('卷积1');y4 = conv(x,h2);subplot(4,2,8);stem(y4)title('卷积2');实验结果如下:离散时间序列x[n]filter 滤波2冲激响应1冲激响应22468101214161820卷积22、用函数[z ,p ,K]=tf2zp (num ,den )求得有理分式形式的系统转移函数的零、极点,用函数zplane (z ,p )绘出零、极点分布图;也可以用函数zplane (num ,den )直接绘出有理分式形式的系统转移函数的零、极点分布图。
实验三 离散时间信号的频域分析实验室名称:信息学院2204 实验时间:2015年10月15日姓 名:蒋逸恒 学号:20131120038 专业:通信工程 指导教师:陶大鹏成绩教师签名:一、实验目的1、 对前面试验中用到的信号和系统在频域中进行分析,进一步研究它们的性质。
2、 学习离散时间序列的离散时间傅立叶变换(DTFT 、离散傅立叶变换(DFT 和z 变换。
二、实验内容Q3.1在程序P3.1中,计算离散时间傅里叶变换的原始序列是什么?Matlab 命令pause的作用是什么?Q3.2运行程序P3.1,求离散时间傅里叶变换得的实部、虚部以及幅度和香相位谱。
离散时间傅里叶变换是 w 的周期函数吗?若是,周期是多少?描述这四个图形表示的 对称性。
Q3.2修改程序P3.1,在范围0W w Wn 内计算如下序列的离散时间傅里叶变换:0.7 0.5e jw 0.3e j2w e j3w1 0.3e jw 0.5e j2w 0.7e j3w并重做习题P3.2,讨论你的结果。
你能解释相位谱中的跳变吗? 可以移除变化。
试求跳变被移除后的相位谱。
Q3.6通过加入合适的注释语句和程序语句,修改程序 两个轴加标记。
哪个参数控制时移量?Q3.10通过加入合适的注释语句和程序语句,修改程序 两个轴加标记。
哪个参数控制频移量?Q3.14通过加入合适的注释语句和程序语句,修改程序 两个轴加标记。
Q3.15运行修改后的程序并讨论你的结果。
Q3.17通过加入合适的注释语句和程序语句,修改程序 两个轴加标记。
Q3.20通过加入合适的注释语句和程序语句,修改程序 两个轴加标记。
试解释程序怎样进行时间反转运算。
Q3.23编写一个MATLAB?序,计算并画出长度为为值,其中L > N,然后计算并画出L 点离散傅里叶逆变换X[k]。
对不同长度N 和不同的 离散傅里叶变换长度L ,运行程序。
讨论你的结果。
U(e jw )MATLAE 命P3.2,对程序生成的图形中的 P3.3,对程序生成的图形中的 P3.4,对程序生成的图形中的P3.5,对程序生成的图形中的 P3.6,对程序生成的图形中的 N 的L 点离散傅里叶变换X[k]的Q3.26在函数circshift 中,命令rem 的作用是什么? Q3.27解释函数circshift 怎样实现圆周移位运算。
课程名称:数字信号处理实验实验地点:综合楼C407专业班级:2014级生物医学工程姓名:leifeng学号:指导老师:第一次实验第一章 离散时间信号的时域分析Q1.1运行程序P1.1,以产生单位样本序列u[n]并显示它clf; n=-10:20;u=[zeros(1,10) 1 zeros(1,20)]; stem(n,u);xlabel('时间序号');ylabel('振幅'); title('单位样本序列'); axis([-10 20 0 1.2]);时间序号振幅单位样本序列Q1.2 命令clf ,axis ,title ,xlabel 和ylabel 的作用是什么clf :清除图形窗口内容; axis:规定横纵坐标的范围;title :使图像面板上方显示相应的题目名称; xlable :定义横坐标的名字; ylable :定义纵坐标的名字。
Q1.3修改程序P1.1以产生带有延时11个样本的延迟单位样本序列ud[n],运行修改的程序并且显示产生的序列。
clf; n=0:30;u=[zeros(1,11) 1 zeros(1,19)]; stem(n,u);xlabel('时间序号');ylabel('振幅'); title('单位样本序列'); axis([0 30 0 1.2]);时间序号振幅单位样本序列Q1.5 修改程序P1.1,以产生带有超前7个样本的延时单位阶跃序列sd[n]。
运行修改后的程序并显示产生的序列。
clf; n=-10:20;sd=[zeros(1,3) 1 ones(1,27) ]; stem(n,sd);xlabel('时间序号');ylabel('振幅'); title('单位样本序列'); axis([-10 20 0 1.2]);时间序号振幅单位样本序列Q1.6运行程序P1.2,以产生复数值的指数序列。
实验二 用FFT 进行谱分析一.实验目的:1 进一步加深DFT 算法原理和基本性质的理解(因为FFT 只是DFT 的一种快速算法,所以FFT 的运算结果必然满足DFT 的基本性质)。
熟悉FFT 程序结构及编程方法。
2 熟悉应用FFT 对确定信号进行谱分析方法,熟悉FFT 算法原理和FFT 子程序的应用。
3 学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应有FFT 。
二.实验内容:(1)用matlab 编程产生并画出信号x1(n)、x2(n)、x3(n)、x4(n)、x5(n)。
(2)用matlab 编制FFT 函数对上述信号进行频谱分析,并画出上述信号谱图。
三.实验结果(1)1.%This programm is to generate signal x1(n)=R4(n).k=-6:6;x=[zeros(1,6),ones(1,4),zeros(1,3)];stem(k,x); (信号图如图1) title('图1');2.n=-5:1:10;x=(n+1).*(n>=0 & n<=3)+(8-n).*(n>=4 & n<=7)+0; stem(n,x); title('图2');3.n=-5:10;x=(4-n).*(n>=0 & n<=3)+(n-3).*(n>=4 & n<=7); stem(n,x); title('图3');-6-4-2024600.10.20.30.40.50.60.70.80.91⎪⎩⎪⎨⎧≤≤-≤≤+==n n n n n n x n R n x 其它,074,830,1)()()(241⎪⎩⎪⎨⎧≤≤-≤≤-=n n n n n n x 其它,074,330,4)(3n n x 4cos )(4π=n n x 8sin )(5π=图1-5051000.511.522.533.54-5051000.511.522.533.54图34.n=-10:10; x=cos(pi/4*n); stem(n,x); title('图4');5.n=-10:10;x=sin(pi/8*n); stem(n,x); title('图5');实验结果(2): FFT 算法function y=myditfft(x) % y=myditfft(x)% 本程序对输入序列 x 实现DIT-FFT 基2算法,点数取大于等于x 长度的2的幂次 % x 为给定时间序列% y 为x 的离散傅立叶变换m=nextpow2(x);N=2^m; % 求x 的长度对应的2的最低幂次m if length(x)<N;% 若x 的长度不是2的幂,补零到2的整数幂 x=[x,zeros(1,N-length(x))]; endnxd=bin2dec(fliplr(dec2bin([1:N]-1,m)))+1; % 求1:2^m 数列的倒序 y=x(nxd); % 将x 倒序排列作为y 的初始值 for mm=1:m; % 将DFT 作m 次基2分解,从左到右,对每次分解作DFT 运算 Nmr=2^mm;u=1; % 旋转因子u 初始化为WN^0=1WN=exp(-i*2*pi/Nmr); % 本次分解的基本DFT 因子WN=exp(-i*2*pi/Nmr) for j=1:Nmr/2; % 本次跨越间隔内的各次蝶形运算for k=j:Nmr:N; % 本次蝶形运算的跨越间隔为Nmr=2^mm kp=k+Nmr/2; % 确定蝶形运算的对应单元下标 t=y(kp)*u; % 蝶形运算的乘积项 y(kp)=y(k)-t; % 蝶形运算 y(k)=y(k)+t; % 蝶形运算 endu=u*WN; % 修改旋转因子,多乘一个基本DFT 因子WN end-10-8-6-4-2246810-1-0.8-0.6-0.4-0.200.20.40.60.81图4-10-8-6-4-2246810-1-0.8-0.6-0.4-0.200.20.40.60.81图5end 1.k=-6:6;x=[zeros(1,6),ones(1,4),zeros(1,3)]; y=myditfft(x); k=-6:9; stem(k,y); xlabel('m'); ylabel('X[M]');title('FFT 图');2.n=-5:1:10;x=(n+1).*(n>=0 & n<=3)+(8-n).*(n>=4 & n<=7)+0;y=myditfft(x); stem(n,y); xlabel('n'); ylabel('X[M]'); title('FFT 图'); 3.n=-5:10;x=(4-n).*(n>=0 & n<=3)+(n-3).*(n>=4 & n<=7); y=myditfft(x); stem(n,y); xlabel('n'); ylabel('X[M]'); title('FFT3'); 4.n=-10:10;x=cos(pi/4*n); y=myditfft(x); n=-10:21; stem(n,y); xlabel('n'); ylabel('X[M]'); title('FFT4'); 5.n=-10:10;x=sin(pi/8*n); y=myditfft(x); n=-10:21; stem(n,y); xlabel('n'); ylabel('X[M]'); title('FFT5');-6-4-20246810-4-3-2-101234m X [M ]FFT 图-5510-20-15-10-505101520nX [M ]FFT 图-5510-10-55101520nX M FFT3-10-50510152025-4-3-2-1012345n X [M ]FFT4-10-50510152025-6-4-22468nX [M ]FFT5四.简要回答以下问题:①在N=8时,x2(n)和x3(n)的幅频特性会相同吗?为什么?N=16呢?答:不相同。
--学生实验报告开课学院及实验室:电子楼317ﻩﻩ 2013 年 4 月 8 日以N为周期进行周期延拓后的主值区序列--四、实验步骤(一) 时域采样定理实验1. 给定模拟信号如下:0()sin()()at a x t Ae t u t -=Ω假设式中A=444.128,250π=a , 2500π=Ωra d/s,将这些参数代入上式中,对()a x t 进行傅立叶变换,得到()a X j Ω,画出它的幅频特性()~a X jf f,如图3.1所示。
根据该曲线可以选择采样频率。
图3.1()a x t 的幅频特性曲线2. 按照选定的采样频率对模拟信号进行采样,得到时域离散信号()x n :0()()sin()()anT a x n x nT Ae nT u nT ==Ω这里给定采样频率如下:1s f kHz=,300Hz ,200Hz 。
分别用这些采样频率形成时域离散信号,按顺序分别用1()x n 、2()x n 、3()x n 表示。
选择观测时间50p T ms=。
3. 计算()x n 的傅立叶变换()jwX e : 100()[()]sin()i i n anT jwj ni n X e FT x n Ae nT e ω--===Ω∑ (3.6)式中,1,2,3i =,分别对应三种采样频率的情况123111(,,)1000300200T s T s T s ===。
采样点数用下式计算:pi i T n T =(3.7)(3.6)式中,ω是连续变量。
为用计算机进行数值计算,改用下式计算:100()[()]sin()i ki k n jw anT jw n M i n X eDFT x n Ae nT e --===Ω∑ (3.8)式中,2k kM πω=,0,1,2,3...k =,1M -;64M =。
可以调用MAT LAB 函数f ft计算3.8式。
4. 打印三种采样频率的幅度曲线()~k jw kX e w ,0,1,2,3...k =,1M -;64M =。
DSP 第三次实验实验报告一. 实验内容:给定连续时间信号1000()t x t e -=。
1、 以足够小的时间间隔,在足够长的时间内画出信号时域图形。
2、 用公式计算信号的频谱()X j Ω。
以足够小的频率间隔,在足够大的频率范围内,根据公式画出其频谱图,估计信号的带宽。
3、 以抽样频率3000Hz 对()x t 抽样,得到离散时间信号()x n ,画出其图形,标明坐标轴。
4、 用DTFT 计算()x n 的频谱()j X e ω,画出幅度频谱的图形,标明坐标轴。
5、 参考课程 2.5节内容,由()x n 的频谱()j X e ω得到原信号()x t 的频谱的估计ˆ()Xj Ω,计算均方误差,在模拟频域上考察对原信号频谱的逼近程度。
此时均方误差的定义为21ˆ()()bab aE X j Xj d ΩΩ=Ω-ΩΩΩ-Ω⎰6、 将()x n 经理想内插后得到原信号的估计ˆ()xt ,从连续时间域上考察信号的恢复程度,计算均方误差。
7、 抽样频率为600 Hz ,重做3-6。
8、 经对比和分析,验证时域抽样定理。
1.1程序脚本和注释clear all ;t1=-0.1;%时间的起始位置 t2=0.1;%时间的终止位置t=t1:0.00001:t2;%间隔为0.00001 x=exp(-1000*abs(t)); plot(t,x);xlabel('t/s'); ylabel('x');title('x(t)=exp(-1000|t|)');1.2运行结果-0.1-0.08-0.06-0.04-0.0200.020.040.060.080.100.10.20.30.40.50.60.70.80.91t/sxx(t)=exp(-1000|t|)2.1编程原理和公式: 求)(t x 的)(Ωj X :()()()2601000010001000102000)(Ω+=+===Ω⎰⎰⎰⎰∞-Ω-∞Ω+-Ω-∞∞--∞∞-Ω-dt e dt edt eedt et x j X t j tj tj ttj 2.2程序脚本和注释:clear all;omega1=-3000*pi;%频率范围取-3000pi~3000pi omega2=3000*pi;omega=omega1:0.5*pi:omega2;%频率间隔取0.5pi N=length(omega); for(k=1:N)X(k)=2000/(1000000+omega(k)*omega(k)); endplot(omega,X);xlabel('omega (rad/s )'); ylabel('X');title(' X(omega)=2000/(1000000+omega(k)*omega(k))');2.3程序运行结果:-1-0.8-0.6-0.4-0.200.20.40.60.81x 10400.20.40.60.811.21.41.61.82x 10-3omega(rad/s)XX (omega)=2000/(1000000+omega(k)*omega(k))信号的3DB 带宽为W=208pi 即 104HZ 20DB 带宽为W=956pi, 即 477HZ3.1编程原理和公式以3000HZ 的抽样频率对x(t)进行抽样得x(n):1000()()nTt nT x n x t e -=== 1sT f =3.2程序脚本和注释clear all; f=3000; T=1/f;n1=-300;%n 从-300变化到300 n2=300; n=n1:n2;xn=exp(-1000*abs(n*T)); stem(n,xn); xlabel('n'); ylabel('x(n)');title('x(n)=exp(-1000|nT|)');3.3运行结果nx (n )该题的图形与第一题的图形相似,第一题的图画的是t 的连续信号,该图画的是时间离散的信号。
4.1编程原理和思路用第二次实验中编写的dtft 子函数计算x(n)的dtft,为了方便观察图形,利用dtft 的周期性,画出-4pi-4pi 四个周期内的图像。
4.2程序脚本和注释clear all; f=3000; T=1/f; n1=-300; n2=300; n=n1:n2;M=128%每个周期内取128个点xn=exp(-1000*abs(n*T));%得到离散时间信号x(n)Xww=dtft(xn,M);%计算x(n)的DTFT (在一个周期内0-2pi) Xww_abs=abs(Xww);ww=0:2*pi/M:2*pi*(M-1)/M;for(i=1:M)%利用周期性画出x(n)的DTFT 在-4pi-4pi 内的图像 Xw(i)=Xww_abs(i); Xw(M+i)=Xww_abs(i); Xw(M*2+i)=Xww_abs(i); Xw(M*3+i)=Xww_abs(i); endL=length(Xw);w=-4*pi:2*pi/M:2*pi*(L-1)/M-4*pi; plot(w,Xw);xlabel('w/rad'); ylabel('Xw');title('x(n)的DTFT 在-4pi-4pi 内的图像)');4.3运行结果X(n)的DTFT 在-4pi-4pi 四个周期内的图像-15-10-5051015w/radX wx(n)的DTFT 在-4pi-4pi 内的图像)5.1编程原理和公式由T ω=Ω可以得到离散时间信号x(n)的傅里叶变化()()ˆj T X j T X e ωω=ΩΩ= ()ˆX j Ω显然是以226000s sf TπππΩ===为周期的函数 ()ˆX j Ω通过理想低通滤波器()1,20,2s s H j Ω⎧Ω<⎪⎪Ω=⎨Ω⎪Ω≥⎪⎩即得到恢复出的信号的频谱()X j Ω。
利用公式21ˆ()()b a b a E X j X j d ΩΩ=Ω-ΩΩΩ-Ω⎰(2s ΩΩ<)计算均方误差。
编程时,()X j Ω为第二小题中计算所得频谱,()ˆXj Ω为由()j X e ω变换所得的频谱。
5.2程序脚本和注释clear all;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %原信号频谱omegaA1=-3000*pi;%频率范围取-3000pi~3000pi omegaA2=3000*pi; jg=0.5*pi;omegaA=omegaA1:jg:omegaA2;%频率间隔取0.5piN=length(omegaA);for(k=1:N)X(k)=2000/(1000000+omegaA(k)*omegaA(k));end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %计算原信号频谱估计f=3000;T=1/f;n1=-300;n2=300;n=n1:n2;M=f*4;%这样以后使得w的间隔乘以f以后恰好是0.5pi等于画原信号频谱时索取的频率间隔xn=exp(-1000*abs(n*T));%得到离散时间信号x(n)Xww=dtft(xn,M);%计算x(n)的DTFT(在一个周期内0-2pi)%Xww_abs=abs(Xww);ww=0:2*pi/M:2*pi*(M-1)/M;for(i=1:M)%利用周期性画出x(n)的DTFT在-4pi-4pi内的图像Xw(i)=Xww(i);Xw(M+i)=Xww(i);Xw(M*2+i)=Xww(i);Xw(M*3+i)=Xww(i);endL=length(Xw);w=-4*pi:2*pi/M:2*pi*(L-1)/M-4*pi;omegaB_=w*f;XomegaB_=T*Xw;for(k=1:M)%仅取一个周期内的值,重新构成序列omegaB(k)=omegaB_(3*M/2+k);XomegaB(k)=XomegaB_(3*M/2+k);XomegaB_abs(k)=abs(XomegaB(k));endplot(omegaB,XomegaB_abs);xlabel('omega/rad/s');ylabel('Xomega');title('x(t)的频谱估计图'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%计算均方误差omegab=pi*f;omegaa=-pi*f;sum=0;for(k=1:M)sum=sum+abs(X(k)-Xomega(k))*abs(X(k)-Xomega(k))*jg;endE=sum/(omegb-omegaa);5.3运行结果-1-0.8-0.6-0.4-0.200.20.40.60.81x 10400.511.522.5x 10-3omega/rad/sX o m e g ax(t)的频谱估计图E=0,可见,模拟频谱与原信号频谱十分接近。
6.1编程原理和公式将x(n)经抽样内插后得到原信号的估计的公式为:()sin ˆ()()()m t mT T x t x m t mT Tππ∞=-∞⎡⎤-⎢⎥⎣⎦=-∑6.2程序脚本和注释clear all;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %原信号 t1=-0.1; t2=0.1; jg=1/3000;t_=t1:jg:t2;%为计算均方误差方便将间隔设为1/3000 x_=exp(-1000*abs(t_));%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%计算由抽样内插公式得到的原信号的估计 f=3000; T=1/f;n1=-0.1*f;%为方便计算均方误差,n 这样取值与第二小题所画的图对应 n2=0.1*f; n=n1:n2;N=length(n);t=n*T;xn=exp(-1000*abs(t));%得到离散时间信号x(n)m=n1:n2;%x(n)的取值范围为n1-n2,在其他范围内没有取值,所以m的取值范围应与n相同M=length(m);for(i=1:N)x(i)=0;for(j=1:M)if(i==j)x(i)=x(i)+xn(j)*1;%当i=j时公式中分母为零,matlab无法正确计算,所以要单独列出来elsex(i)=x(i)+xn(j)*sin(pi*f*(t(i)-m(j)*T))/(pi*f*(t(i)-m(j)*T)); endendendplot(t,x);xlabel('t');ylabel('x');title('x(n)经抽样内插公式得到的原信号的估计'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%计算均方误差sum=0;for(k=1:N)sum=sum+abs(x_(k)-x(k))*abs(x_(k)-x(k))*jg;endE=sum/(t2-t1);6.3运行结果x(n)经抽样内插公式得到的原信号的估计图:-0.1-0.08-0.06-0.04-0.0200.020.040.060.080.1txx(n)经抽样内插公式得到的原信号的估计E=2.9248e-031可见,均方误差E 很小,也就是说,x(n)经抽样内插后得到原信号的估计与原信号很接近。