数字信号处理实验三报告
数字信号处理实验报告 3
数字信号处理实验报告姓名:班级:通信学号:实验名称:频域抽样定理验证实验类型:验证试验指导教师:实习日期: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为周期的周期延拓序列的主值序列。
数字信号处理实验报告二与三
实验二 用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呢?答:不相同。
数字信号处理实验报告实验三
实验三:用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 三种情况进行谱分析。
河北大学数字信号处理实验三报告(含思考题)
班级 学号 姓名实验三 离散时间系统的频域分析一、实验目的(1)了解DFS 、DFT 与DTFT 的联系;加深对FFT 基本理论的理解;掌握用MATLB 语言进行傅里叶变换时常用的子函数;(2)了解离散系统的零极点与系统因果性和稳定性的关系;加深对离散系统的频率响应特性基本概念的理解;熟悉MATLAB 中进行离散系统零极点分析的常用子函数;掌握离散系统幅频响应和相频响应的求解方法。
二、实验内容1. 已知离散时间系统函数为()432143213.07.05.11.112.01.03.01.02.0--------+-+-++++=z z z z z z z z z H求该系统的零极点;画出零极点分布图(提示:用zplane 实现);判断系统的因果、稳定性。
程序代码:a=[0.2 0.1 0.3 0.1 0.2];b=[1 -1.1 1.5 -0.7 0.3];r1=roots(a) %求分子多项式的根,即系统的零点r2=roots(b) %求分母多项式的根,即系统的极点figure(1)zplane(a,b); %调用zplane 函数画零极点图运行结果:r1 =-0.5000 + 0.8660i-0.5000 - 0.8660i0.2500 + 0.9682i0.2500 - 0.9682ir2 =0.2367 + 0.8915i0.2367 - 0.8915i0.3133 + 0.5045i0.3133 - 0.5045i由图像可知该系统的全部极点都在单位圆内,所以该系统因果稳定。
2. 已知离散时间系统的系统函数为()432143213.07.05.11.112.01.03.01.02.0--------+-+-++++=z z z z z z z z z H 求该系统在π~0频率范围内的幅频响应、相频响应。
(提示:用freqz 实现)程序文件:a=[0.2 0.1 0.3 0.1 0.2];b=[1 -1.1 1.5 -0.7 0.3];[h,w]=freqz(a,b);c=abs(h); %取幅度d=angle(h); %取相角figure(1)subplot(2,1,1)plot(w,c); %画幅频特性曲线title('幅频特性曲线');subplot(2,1,2)plot(w,d); %画相频特性曲线title('相频特性曲线');运行结果:3. 已知()[]301,2,4,8≤≤=n n x ,画出由离散时间傅里叶变换求得的幅度谱()()[]ωωj j e arg e X X 和图形。
数字信号处理实验报告 3
数字信号处理实验报告姓名:班级:通信学号:实验名称:频域抽样定理验证实验类型:验证试验指导教师:实习日期: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篇模版]
数字信号处理实验报告完整版[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,再次绘出一些列类似的图。
数字信号处理实验报告-实验3
数字信号处理实验报告林鸿运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代表一个周期里有多少个震荡。
数字信号处理实验报告 (3)
武汉工程大学实验报告实验课程数字信号处理一、实验目的(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)。
数字信号处理实验三报告 数字信号处理上机实验报告.doc
数字信号处理实验三报告数字信号处理上机实验报告实验一系统响应及系统稳定性一、实验目的(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)的输出响应,波形。
数字信号处理实验报告 (3)
数字信号处理实验报告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)实验名称实验一离散时间信号分析实验日期2013.10.19 指导教师(2)绘制单位跃阶)u序列(n解:MATLAB程序如下:>> n=-10:10;>> x=[zeros(1,10),ones(1,11)]; >> stem(n,x,'fill')>> grid on(4)正弦型序列)35sin()(ππ+=n A n x解:MATLAB 程序如下: >> n=-10:10; >> w=pi/5; >> ph=pi/3; >> A=2;(2)2()1(2)()(-+-+-+=n n n n n h δδδδ解:MATLAB 程序如下: >> n=-10:10;>> x=[zeros(1,10),1,2,1,2,zeros(1,7)]; >> stem(n,x,'fill') >> grid on(2)实现任意序列(2)()(-+=n n n h δδ解:MATLAB 程序如下:>> n=-10:10;>> x=[zeros(1,10),1,2,1,2,zeros(1,7)]; >> y=circshift(x,[0,-4]); %左移四位>> stem(n,y,'fill') >> grid on(4)实现任意序列)(=n x (2)2()1(2)()(+-+-+=n n n n n h δδδδ解:MATLAB 程序如下:x=[zeros(1,10),1,2,1,2,zeros(1,7)];>> y=[zeros(1,10),1,2,3,4,5,zeros(1,6)]; >> k=x+y; %两数列相加(5)实现任意序列)(=n x δ(2)2()1(2)()(-+-+-+=n n n n n h δδδδ解:MATLAB 程序如下:>> n=-10:10;>> x=[zeros(1,10),1,2,1,2,zeros(1,7)]; >> y=[zeros(1,10),1,2,3,4,5,zeros(1,6)]; >> k=x.*y; %实现两序列的积 >> stem(n,k,'fill')(6)分别实现()(=n n x δ(2)2()1(2)()(-+-+-+=n n n n n h δδδδ解:MATLAB 程序如下: ①>> n=-10:10;②>> n=-10:10;>> x=[zeros(1,10),1,2,1,2,zeros(1,7)];>> y=cumsum(x); %%实现函数自身的累加(由左向右累加)>> stem(n,y,'fill')>> grid on实验一实验心得:首先,第一次实验,我又开始重拾MATLAB方法。
华南理工大学数字信号处理实验报告3(曹老师)
一、实验目的加深对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 )直接绘出有理分式形式的系统转移函数的零、极点分布图。
数字信号处理实验报告分析解析
物理与电子电气工程学院实验报告课程名称:数字信号处理院系:物电学院专业:电子信息工程班级:1307学号:171313199姓名:董宝坤实验报告(1)实验名称常见离散信号产生与实现实验日期指导教师实验报告(2)实验名称离散时间系统的时域分析实验日期指导教师实验报告(3)实验名称离散时间LTI系统的z域分析实验日期指导教师实验报告(4)实验名称用FFT进行谱分析实验日期指导教师实验五 数字滤波器的结构一、 实验目的(1) 加深对数字滤波器分类与结构的了解;(2) 明确数字滤波器的基本结构及其相互间的转换方法;(3) 掌握用MATLAB 进行数字滤波器各种结构相互间转换的子函数及程序编写方法。
二、 实验原理一个离散LSI 系统可用系统函数来表示;()()()12001212120z 11MmM mm M NNkN k k bz Y b b z b z b z H z X z a z a z a z a z ----=----=++++===+++++∑∑ 也可用差分方程来表示:()()()1NMk m k m y n a y n k b x n m ==+-=-∑∑当k a 至少有一个不为0时,则在有限z 平面上存在极点,表示一个IIR 数字滤波器;当k a 全都为0时,系统不存在极点,表示一个FIR 系统。
IIR 数字滤波器的基本结构分为直接Ⅰ型、直接Ⅱ型、级联型和并联型。
FIR 数字滤波器的基本结构分为横截型、级联型、并联型、、线性相位型和频率抽样型。
三、实验仪器微型计算机、MATLAB 四、 实验内容(1) 已知一个IIR 系统的系统函数为()1231230.10.40.40.110.30.550.2z z z H z z z z-------+-=+++ 将其从直接型转换为级联型和并联型结构,并画出各种结构的流程图。
(2) 已知一个FIR 系统的系统函数为()12340.20.8850.212+0.212+0.885H z z z z z ----=++将其从横截型转换为级联型结构,并画出各种结构的流程图。
湘潭大学数字信号处理实验报告(第三次)-混合编程
湘潭⼤学数字信号处理实验报告(第三次)-混合编程数字信号处理实验报告(第三次)学院:班级:姓名:学号:指导⽼师:完成⽇期:内容:实验五混合编程实验五混合编程⼀、实验⽬的1. 学习使⽤实时运⾏库;2. 熟悉⽤C和汇编混合编程的⽅法;3. 掌握混合编程的调试⽅法。
⼆、实验环境1. 集成开发环境Code Composer Studio2.0(简称CCS)2. 实验程序mix.c,mix.h(由程序⾃动加载,可不加,后同),mix.cmd,addfun.s54,rts.lib(有C的混合编程需要有库⽂件),c5402.gel(要有,有C的混合编程要⽤gel 初始设置。
选芯⽚时设置已⾃带,可不添加;如⽆则加)三、实验步骤1. 改设置:Build option⼦菜单linker中Basic项Autoinit Model 改为load-time Initialization或Run-time Initialization(不同的设置,SP初始值将不同。
No Initialization也可以,但效果不如前两个好)。
2. 为使效果更明显,屏蔽前两条printf( )语句(可与第三条对⽐,编译后将出现警告,可忽略),编译项⽬⽂件得到.out程序。
另外装载程序前,在Edit->Memory->Fill 中,对Data Memory从0x0000到0xFFFF⽤全0x1111或0x2222等填充(注意:填充后必须对Gel⽂件重新Load⼀次)。
然后装载程序,了解在混合编程环境下变量、函数的定义⽅法以及项⽬⽂件的编译⽅法。
屏蔽前两条printf( )语句//***************************************************************************** *// SJTU DSP Tech. Center// Copyright (c) 2001 SJTU DSP Tech. Center. All Rights Reserved.//// Description:// TMS320C54x Program for Students Experiment//// History:// Date Authors// 2003/07/23 Zheng Yigang//***************************************************************************** * #include#include "mix.h"int mix_func_c(int *wl, int *wr, int val){int i, val_min, tmp[8];for(i=0; i<8; i++)tmp[i] = wl[i] * wr[i];val_min = val;for(i=0; i<8; i++){if(val_min>tmp[i])val_min = tmp[i];}return val_min;}void main(){ int val, i, wl[8], wr[8];int min_asm, min_c;//register settingasm(" stm #0, SWWSR");asm(" stm #0x00A0, PMST");// min_asm=1900;// min_c=2000;//call system functionval = -100;val = abs(val);printf("val = %d\n", val);//call asm functionfor(i=0; i<8; i++){wl[i]=i;wr[i]=2*i+1;}min_asm = mix_func(wl, wr, val);printf("val = %d\n", min_asm);min_c = mix_func_c(wl, wr, val);printf("val = %d\n", min_c);return;}Data Memory从0x0000到0xFFFF⽤全0x1111或0x2222等填充3. 打开View Memory,⽤SP值(Debug_>Go main后的值)作为开始察看地址,从主程序main开始⽤Single Step⽅式调试程序,观察程序的执⾏过程。
数字信号处理课程设计报告实验三
课程设计报告课程 : 数字信号处理课程设计学院 : 信息工程学院专业 : 信息工程学号 :学生姓名 :教师姓名 :2019年 10月 13日实验三: FFT频谱分析及应用一、实验目的:(一)通过实验,加深对FFT的理解,熟悉 FFT子程序。
(二)熟悉用 FFT对典型信号进行频谱分析的方法。
二、实验原理与方法:在各种信号序列中,有限长序列占有重要地位。
对有限长序列,可以利用离散傅里叶变换( DFT)进行分析。
DFT不但可以很好的反应序列频谱特性,而且易于用快速算法( FFT)在计算机上实现。
设序列为 x(n),长度为 N,其 DFT定义为:,反变换为,有限长序列的 DFT是其 Z 变换在单位圆上的等距采样,或者说是序列傅里叶变换的等距采样,因此可以用于序列的谱分析。
FFT是 DFT的一种快速算法,是对变换式进行一次次分解,使其成为若干小点数的组合,从而减少运算量。
常用的FFT是以 2 为基数,其长度为 N=2M。
它的效率高,程序简单,使用方便。
当要变换的序列长度不等于 2 的整数幂次时,为了使用以2 为基数的 FFT,可以使用末尾补零的方法,使其长度为 2 的整数次方。
在MATLAB信号处理工具箱中的函数为 fft(x,N) ,可用于序列 x(n)的 N 点快速傅里叶变换。
经函数 fft 求得的序列一般是复序列,通常要求其幅值和相位。
MATLAB中提供了求复数的幅值和相位函数:abs、angle。
三、实验内容:(一)模拟信号,以 0.01n 进行采样,其中n=0,⋯ ,N-1:①求 N=40 点 FFT的幅度频谱,从图中能否观察出信号的 2 个频率分量?②提高采样点数,如 N=128,再求该信号的幅度频谱,此时幅度频谱发生了什么变化?信号的 2个模拟频率和数字频率各为多少? FFT频谱分析结果与理论上是否一致?解:① MATLAB程序:3/13N=40;n=0:N-1;t=0.01*n;x=2*cos(4*pi*t)+5*cos(8*pi*t);k=0:N/2;w=2*pi/N*k;X=fft(x,N);magX=abs(X(1:N/2+1));subplot(2,1,1);stem(n,x,'.');title('signal x(n)');grid on; subplot(2,1,2);plot(w/pi,magX);title('FFT N=40');xlabel('f (unit:pi)');ylabel('|X|');grid on;结果截图:能观察出信号的 2 个频率分量②MATLAB程序:N=128;n=0:N-1;t=0.01*n;x=2*cos(4*pi*t)+5*cos(8*pi*t);k=0:N/2;w=2*pi/N*k;X=fft(x,N);magX=abs(X(1:N/2+1));subplot(2,1,1);stem(n,x,'.');title('signal x(n)');grid on; subplot(2,1,2);plot(w/pi,magX);title('FFT N=128');xlabel('f (unit:pi)');ylabel('|X|');grid on;结果截图:幅度频谱变得更加密集,模拟频率和数字频率各为 4hz 和 100hz 频谱分析结果与理论相一致的。
《数字信号处理》实验报告汇总
物理与电子电气工程学院实验报告
课程名称:数字信号处理
院系:物电学院
专业:电子信息科学与技术班级:
学号:
姓名:
实验报告(1)
实验名称常见离散信号产生与实现
实验日期2016年9月13日指导教师曹凤莲
实验报告(2)
实验名称离散时间系统的时域分析
实验日期2016年9月20日指导教师曹凤莲
实验报告(3)
实验名称离散时间LTI系统的z域分析
实验日期2016年9月27日指导教师曹凤莲
实验报告(4)
实验名称用FFT进行谱分析
实验日期2016年10月10日指导教师曹凤莲
实验报告(5)
实验名称实验五数字滤波器结构的实现
实验日期2016年10月17日指导教师曹凤莲
实验报告(6)
实验名称实验六IIR数字滤波器的设计
实验日期2016年10月25日指导教师曹凤莲。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三 时域抽样定理一.实验内容1.以足够小的时间间隔,在足够长的时间内画出信号时域图形。
2. 用公式计算信号()x t 的频谱()X j Ω。
以足够小的频率间隔,在足够大的频率范围内,根据公式画出其频谱图,估计信号的带宽,标注坐标轴。
3.以抽样频率3000Hz 对()x t 抽样,得到离散时间信号()x n ,画出其图形,标明坐标轴。
4.用DTFT 计算()x n 的频谱()j X e ω,画出幅度频谱的图形,标明坐标轴。
5.参考课本115页内容,由()x n 的频谱()j X e ω得到原信号()x t 的频谱的估计ˆ()Xj Ω,计算均方误差,在模拟频域上考察对原信号频谱的逼近程度。
此时均方误差的定义为21ˆ()()bab aE X j Xj d ΩΩ=Ω-ΩΩΩ-Ω⎰6.参考课本45页内容,将()x n 经理想内插后得到原信号的估计ˆ()xt ,从连续时间域上考察信号的恢复程度,计算均方误差。
7.抽样频率为600 Hz ,重做3-6。
8.经对比和分析,验证时域抽样定理。
二.实验思路和程序给定连续时间信号1000()t x t e -=。
1、以足够小的时间间隔,在足够长的时间内画出信号时域图形。
m=-100:100;M=5000;n=m/M; %定义时间的变化范围s=1000*abs(n); %给指数定义一个常量,比较容易表示 x=exp(-s); %写出x(t)的公式plot(n,x); %作x(t)关于是件t 的连续图像作出的图形见图1-1:-0.02-0.015-0.01-0.00500.0050.010.0150.0200.10.20.30.40.50.60.70.80.91n时域图形x图1-1 x 的时域图形2、 用公式计算信号()x t 的频谱()X j 。
以足够小的频率间隔,在足够大的频率范围内,根据公式画出其频谱图,估计信号的带宽,标注坐标轴。
思路:首先制造出足够小的频率间隔和足够大的频率范围,公式的计算如下: =dt+dt=作出的频谱图分为幅度谱和相位谱两个部分,因为需要用函数调用,不必要这样麻烦,所以,在此处用a 代替。
程序:N=128; %为产生足够小的频率间隔设定的变量,即为频率范围内的点数m=-100:100;M=5000;n=m/M; %定义变化范围s=1000*abs(n); %给指数定义一个常量,比较容易表示x=exp(-s); %写出x(t)的公式n1=-8000*pi; %足够大的频率范围的左边界n2=8000*pi; %足够大的频率范围的右边界a=[n1:(n2-n1)/N:n2]; %定义角频率的取值范围和间隔n3=2000; %定义一个常量,方便下面在公式中进行表示n4=1000^2; %定义一个常量,方便下面在公式中进行表示y=n3./(n4+a.*a); %对应于上面的公式magY=abs(y); %将幅度部分赋值给magYangY=angle(y); %将相位部分赋值给angYsubplot(3,1,1),plot(n,x);grid on %作3行1列的图形,第1个图形为x的时域图形xlabel('n');title('时域图形');ylabel('x'); %标注坐标轴的意义和标题subplot(3,1,2),plot(a,magY);grid on %作3行1列的图形,第2个图形为幅度谱xlabel('a');title('频域幅度谱');ylabel('幅值'); %标注坐标轴的意义和标题subplot(3,1,3),plot(a,angY);grid on %作3行1列的图形,第3个图形为相位谱xlabel('a');title('频域相位谱');ylabel('相值'); %标注坐标轴的意义和标题图形如图1-2所示:-0.02-0.015-0.01-0.00500.0050.010.0150.0200.51n 时域图形x-3-2-10123x 10412-3a 频域幅度谱幅值-3-2-10123x 104-101a频域相位谱相值图1-2 x 的时域图形,频域幅度谱和相位谱3、以抽样频率3000Hz 对()x t 抽样,得到离散时间信号()x n ,画出其图形,标明坐标轴。
m=-100:100; f=3000;n=m/f; %定义变化范围s=1000*abs(n); %给指数定义一个常量,比较容易表示 x=exp(-s); %写出x(n)的公式stem(n,x,'.');grid on %作x 关于n 的离散图形xlabel('n');title('离散图形');ylabel('x'); %标注坐标轴的意义和标题作出的图形见图1-3:00.10.20.30.40.50.60.70.80.91n离散图形x图1-3 抽样以后的离散信号x(n)4、用DTFT 计算()x n 的频谱()j X e ,画出幅度频谱的图形,标明坐标轴。
思路:调用实验二编写的子程序进行DTFT 的计算。
主程序:M=128; %定义抽样的点的个数 n1=-10; %定义观察区间的左边界 n2=10; %定义观察区间的右边界 T=1/3000; %定义抽样时间间隔 n= n1:T:n2; %定义n 的取值范围 x=exp(-1000*abs(n)); %公式[X,w]=dtft2(x,n,M); %调用上一次实验二使用的子函数,进行计算 Xm=abs(X); %取模值为幅值plot(w,Xm); %作幅度谱的连续图形xlabel('w');ylabel('Xm');title('幅度频谱');grid ; %标注坐标轴的意义和标题 子程序:function [X,w] = dtft2( x, n, M ) %实验二的子程序 M=128; %定义抽样的点的个数w=-pi*10^7:2*pi*10^7/M:pi*10^7-2*pi*10^7/M; %定义角频率的范围和间隔 L=length(n); %序列的长度 for (k=1:M) %外层对w 循环M 次sum=0; %一旦确定一个w 的值,就将sum 赋值为0,进行下一次的循环 for (m=1:L) %内层对n 进行求和,循环的次数等于序列的长度 sum=sum+x(m)*exp(-j*w(k)*n(m)); %求和公式 X(k)=sum;end %结束内循环 end %结束外循环图形见图1-4:-4-3-2-101234x 107wX m幅度频谱图1-4()j X e 幅度频谱图形5、参考课本115页内容,由()x n 的频谱()j X e ω得到原信号()x t 的频谱的估计ˆ()Xj Ω,计算均方误差,在模拟频域上考察对原信号频谱的逼近程度。
此时均方误差的定义为t = [-10,10]; %定义时间取值区间a=1000; %定义一个常量给aa1 = -3000*pi; %取足够大的频率范围 a2 = 3000*pi; %取足够大的频率范围o = [a1:(a2-a1)/M:a2]; %定义角频率的范围和角频率间隔 X =(2*a)./(a*a+o.*o); %公式subplot(2,1,1) %作2行1列的图形,第1个图形是频谱图 plot(o,X);hold on ;grid on ;xlabel('模拟角频率');ylabel('X');title('x(t)的频谱图'); %标注坐标轴的意义M=128; %定义抽样的点的个数 n1=-10; %定义观察区间的左边界 n2=10; %定义观察区间的右边界 T=1/3000; %定义抽样时间间隔 n= n1:T:n2; %定义n 的取值范围 x=exp(-1000*abs(n)); %公式[X,w]=dtft2(x,n,M); %调用实验二中求DTFT 的子程序 Xm=abs(X)*T; %Xm 的幅值subplot(2,1,2) %作2行1列的图形,第2个图形是幅度谱的连续图形 plot(w,Xm);xlabel('w');ylabel('Xm');title('幅度频谱的估计');grid ; %标注坐标轴的意义 E=sum((X-Xm).^2)*6000*pi/(M*6000*pi); %公式计算图形见图1-5:-1-0.8-0.6-0.4-0.200.20.40.60.81x 10400.511.52x 10-3模拟角频率Xx(t)的频谱图-4-3-2-101234x 1070123-3wX m幅度频谱的估计图1-5 频谱图和频谱估计图的对比可以看到,E= 2.93310237804626 + 7.48943169773218e-19i6、参考课本45页内容,将()x n 经理想内插后得到原信号的估计ˆ()xt ,从连续时间域上考察信号的恢复程度,计算均方误差。
T=1/3000;t=-0.01:T:0.01; %定义t 的取值范围 x=exp(-1000*abs(t)); %公式 y=-0.01:0.005:0.01; %定义yn=-0.01/T:0.01/T; %定义n 的范围和间隔 t=-0.01:0.00001:0.01;i=1; %定义i 的初值,接下来进行循环 for kn=ty(i)=x*(sin(pi/T*(kn-n*T))./(pi/T*(kn-n*T)))'; %老师上课讲过的内插公式 i=i+1; %每循环一次让i 加1 end %结束for 循环plot(t,y); grid on %作图xlabel('t');ylabel('y');title('3000Hz 时域抽样重建函数'); %标注坐标轴的意义和标题图形见图1-6:-0.01-0.008-0.006-0.004-0.00200.0020.0040.0060.0080.01ty3000Hz 时域抽样重建函数图1-6 3000Hz 时域抽样重建函数7、抽样频率为600 Hz ,重做3-6。
T=1/600; %抽样频率变成600Hz t=-0.01:T:0.01; %定义t 的取值范围 x=exp(-1000*abs(t)); %公式 y=-0.01:0.005:0.01; %定义y n=-0.01/T:0.01/T;t=-0.01:0.00001:0.01;i=1; %定义i 的初值,接下来进行循环 for en=ty(i)=x*(sin(pi/T*(en-n*T))./(pi/T*(en-n*T)))'; %内插公式 i=i+1; endplot(t,y);grid onxlabel('t'); title('600Hz 时域抽样重建函数');ylabel('y');%标注坐标轴的意义和标题-0.01-0.008-0.006-0.004-0.00200.0020.0040.0060.0080.01-0.20.20.40.60.811.2ty600Hz 时域抽样重建函数图1-7 600Hz 时的时域抽样重建函数8、经对比和分析,验证时域抽样定理。