数字信号处理实验三
- 格式:ppt
- 大小:676.00 KB
- 文档页数:1
数字信号处理实验报告姓名:班级:通信学号:实验名称:频域抽样定理验证实验类型:验证试验指导教师:实习日期: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为周期的周期延拓序列的主值序列。
实验三 信号检测与分析一、实验目的1.掌握FFT 函数的用法。
2. 利用FFT 进行信号检测及谱分析。
3.了解信号截取长度对谱分析的影响。
二、实验内容1.利用FFT 计算信号功率谱。
2. 进行信号检测。
分析信号频谱所对应频率轴的数字频率和频率之间的关系。
3. 对例2,进一步增加截取长度和FFT 点数,如N 加大到256,观察信号频谱的变化,分析产生这一变化的原因。
在截取长度不变的条件下改变采样频率,观察信号频谱的变化,分析产生这一变化的原因。
4. 对例3,加大噪声到2*randn(1,N)和8*randn(1,N),画出并比较不同噪声下时域波形和频谱。
5. 用一个N 点FFT 计算两个长度为N 的实序列N 点离散傅里叶变换,并将结果和直接使用两个N 点FFT 得到的结果进行比较。
6.比较DFT 和FFT 的运算时间。
(计时函数 tic , toc)7. 比较利用FFT 计算线性卷积的和直接计算线性卷积的时间及结果。
(选作)8.对给定语音信号进行谱分析,写出采样频率,画出语音信号的波形及频谱,并分析语音信号的频率分布特点。
三、 实验报告要求1.记录例题程序的实验结果、图形。
2.写出自己编写的程序并记录结果、图形。
3.对实验结果进行分析。
% fft 一维快速傅立叶变换函数% 格式: y=fft(x) FFT 算法计算矢量x 的离散傅立叶变换,当x 为矩阵时,y 为矩阵x 的每一列 % 的FFT 。
%当x 的长度为2的幂次方时,则fft 采用基2的FFT 算法,否则采用稍慢的混合基算法。
% y=fft(x,n) 实现n 点FFT 。
当x 的长度小于n 时,fft 函数在x 的尾部补零,以构成n 点数据;% 当x 的长度大于n 时,fft 函数会截断序列x 。
当x 为矩阵时,fft 函数按类似的方法处理列长度。
% ifft 一维快速傅立叶反变换% 格式:y=ifft(x) 用于计算矢量x 的IFFT 。
实验3 离散时间系统的频域分析一、实验目的(1)了解DFS 、DFT 与DTFT 的联系;加深对FFT 基本理论的理解;掌握用MATLB 语言进行傅里叶变换时常用的子函数;(2)了解离散系统的零极点与系统因果性和稳定性的关系;加深对离散系统的频率响应特性基本概念的理解;熟悉MATLAB 中进行离散系统零极点分析的常用子函数;掌握离散系统幅频响应和相频响应的求解方法。
二、实验内容1. 已知离散时间系统函数为 用matlab 中的函数()432143213.07.05.11.112.01.03.01.02.0--------+-+-++++=zz z z z z z z z H 求该系统的零极点及零极点分布图,并判断系统的因果稳定性。
方法一:利用tf3zp 函数b=[0.2 0.1 0.3 0.1 0.2]; a=[1 -1.1 1.5 -0.7 0.3]; [z,p,k]=tf2zp(b,a); c1=abs(z);c2=angle(z); c3=abs(p);c4=angle(p); polar(c4,c3,'bx') hold onpolar(c2,c1,'ro') disp(z) disp(p)disp(abs(z)) disp(abs(p))90270方法二:利用zplaneb=[0.2 0.1 0.3 0.1 0.2];a=[1 -1.1 1.5 -0.7 0.3];z=roots(b);p=roots(a);zplane(b,a)disp(z)disp(p)disp(abs(z))disp(abs(p))-1-0.500.51-1-0.8-0.6-0.4-0.200.20.40.60.81Real PartI m a g i n a r y P a r t由于极点都在单位圆内,故该系统稳定。
若其收敛域为圆外区域,则系统是因果系统。
2. 已知离散时间系统的系统函数为()432143213.07.05.11.112.01.03.01.02.0--------+-+-++++=z z z z z z z z z H求该系统在π~0频率范围内的绝对幅频响应、相频响应。
实验报告课程名称数字信号处理实验名称利用频率抽样法设计线性相位数字FIR 带通滤波器指导教师罗倩实验日期2013年12月15日学院信息与通信工程专业电子信息工程学生姓名于卓立班级/学号电信1103/ 2011010533 成绩指导老师签字实验三、利用频率抽样法设计线性相位数字 FIR 带通滤波器一、实验目的:1、掌握利用频率抽样法设计FIR数字滤波器的原理和方法;2、了解频率抽样对滤波特性的影响。
二、题目:设计数字带通滤波器,指标为低阻带:ω1s=0.1π, As=60dB低通带:ω1p=0.3π, Rp=0.1dB高通带:ω2p=0.4π, Rp=0.1dB高阻带:ω2s=0.6π, As=60dB画出滤波器的频率响应曲线和单位冲激响应曲线,给出实际滤波器长度、通带衰减和阻带衰减。
(选作:)仿真0-9 DTMF 信号;播放拨号音;在所设计的带通滤波器基础上(或用Goertzel算法),改变截止频率,构成一组带通滤波器组,识别拨号数字,并显示出来;考虑到线路质量,在双音多频信号上加入噪声,再次识别。
设计步骤参见p268图7-14。
三、实验流图四、实验结果五、参考文献[1] 焦瑞莉,罗倩,汪毓铎,顾奕,信号与系统引论,北京:高等教育出版社,2009年3月.。
[2] 胡广书,数字信号处理——理论、算法与实现,北京:清华大学出版社,2003年8月。
六、设计结果分析实验代码在修改后较符合要求,在0.1之前没有超过-20DB的信号,通带、阻带、过渡带都与设计要求相差不大。
七、实验心得做完这次实验,实验者进一步的掌握了matlab设计程序的一些方法,虽然由于审题疏忽,实验者吧频率抽样法一开始做成了窗函数法,但是在老师的现场讲解下下,还是及时改成了错误,修改代码,完成实验。
附录clear allclcclfN=1:40;H(1:3)=0;H(4)=0.1;H(5)=0.55;H(6:9)=1;H(10)=0.5;H(11)=0.1;H(12:31)=0;H(32)=0.1;H(33)=0.5;H(34:37)=1;H(38)=0.5;H(39)=0.1;H(40)=0;figure(1)stem(N*2/40,H);phi=-1*(40-1)*pi*N/40;c=1*1j.*phi;Y=H.*exp(c);y=ifft(Y,40);%M=1:400;w=0.01:0.001:pi;HW=freqz(y,[1],w);Y1=abs(HW);Y2=20*log10(Y1);figure(2);plot(w/pi,Y2);title('频率响应曲线');xlabel('w/pi' )ylabel('db') grid onfigure(3);t=1:40;stem(t,y);title('冲击响应h(n)曲线');xlabel('t' )ylabel('h(n)') grid on。
数字信号处理实验报告姓名:班级:通信学号:实验名称:频域抽样定理验证实验类型:验证试验指导教师:实习日期: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为周期的周期延拓序列的主值序列。
实验三 抽样一、实验原理抽样过程基于两个基本原理:混叠合重建,涉及正弦波合现行调频信号的混叠。
二、 实验内容.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,再次绘出一些列类似的图。
一、实验目的1.了解工程上两种最常用的变换方法:脉冲响应不变法和双线性变换法。
2.掌握双线性变换法设计IIR 滤波器的原理及具体设计方法,熟悉用双线性设计法设计低通、带通和高通IIR 数字滤波器的计算机程序.3.观察用双线性变换法设计的滤波器的频域特性,并与脉冲响应不变法相比较,了解双线性变换法的特点。
4.熟悉用双线性变换法设计数字Butterworth 和Chebyshev 滤波器的全过程。
5.了解多项式乘积和多项式乘方运算的计算机编程方法。
二、实验原理与方法从模拟滤波器设计IIR 数字滤波器具有四种方法:微分-差分变换法、脉冲响应不变法、双线性变换法、z 平面变换法。
工程上常用的是其中的两种:脉冲响应不变法、双线性变换法。
脉冲响应不变法需要经历如下基本步骤:由已知系统传输函数H(S)计算系统冲激响应h(t);对h(t)等间隔采样得到h (n )=h (n T);由h (n )获得数字滤波器的系统响应H (Z)。
这种方法非常直观,其算法宗旨是保证所设计的IIR 滤波器的脉冲响应和模拟滤波器的脉冲响应在采样点上完全一致。
而双线性变换法的设计准则是使数字滤波器的频率响应与参考模拟滤波器的频率响应相似。
脉冲响应不变法一个重要的特点是频率坐标的变换是线性的(),其确定是有频谱的周期延拓效应,存在频谱混叠的现象。
为了克服脉冲响应不变法可能产生的频谱混叠,提出了双线性变换法,它依靠双线性变换式:, , 其中 ,建立其S 平面和Z 平面的单值映射关系,数字域频率和模拟域频率的关系是: , (3-1) 由上面的关系式可知,当时,终止在折叠频率处,整个轴单值的对应于单位圆的一周。
因此双线性变换法不同于脉冲响应不变法,不存在频谱混叠的问题。
从式(3-1)还可以看出,两者的频率不是线性关系。
这种非线性关系使得通带截至频率、过渡带的边缘频率的相对位置都发生了非线性畸变。
这种频率的畸变可以通过预畸变来校正。
用双线性变换法设计数字滤波器时,一般总是先将数字滤波器的个临界频率经过式(3-1)的频率预畸变,求得相应参考模拟滤波器的个临界频率,然后设计参考模拟滤波器的传递函数,最后通过双T Ω=ω1111--+-=z z s s s z -+=11Ω+=j s σωj re z =)2/(ωtg =Ω)(2Ω=arctg ω∞→Ωωπω=Ωj线性变换式求得数字滤波器的传递函数。
数字信号处理实验三数字信号处理实验三是针对数字信号处理课程的一项实践性任务。
本实验旨在通过实际操作,加深对数字信号处理理论的理解,并培养学生的实验能力和问题解决能力。
在本实验中,我们将学习和实践以下内容:1. 实验目的本实验的目的是通过使用MATLAB软件进行数字信号处理,加深对数字信号处理基本概念和算法的理解,掌握数字信号的采样、量化、滤波等基本操作。
2. 实验器材在本实验中,我们将使用以下器材:- 个人计算机- MATLAB软件3. 实验步骤本实验的具体步骤如下:步骤一:信号生成首先,我们需要生成一个模拟信号,可以是正弦信号、方波信号或其他类型的信号。
在MATLAB中,我们可以使用相关函数生成这些信号。
生成信号的目的是为了后续的数字信号处理操作提供输入。
步骤二:信号采样在本步骤中,我们将对生成的模拟信号进行采样。
采样是指在一定的时间间隔内对信号进行离散化处理,得到离散时间上的信号序列。
在MATLAB中,我们可以使用采样函数对信号进行采样。
步骤三:信号量化在本步骤中,我们将对采样后的信号进行量化。
量化是指将连续的信号离散化为一组离散的幅值。
在MATLAB中,我们可以使用量化函数对信号进行量化。
步骤四:信号滤波在本步骤中,我们将对量化后的信号进行滤波。
滤波是指通过一系列滤波器对信号进行处理,以去除不需要的频率成分或噪声。
在MATLAB中,我们可以使用滤波函数对信号进行滤波。
步骤五:信号重构在本步骤中,我们将对滤波后的信号进行重构。
重构是指将离散化的信号恢复为连续的信号。
在MATLAB中,我们可以使用重构函数对信号进行重构。
步骤六:信号分析在本步骤中,我们将对重构后的信号进行分析。
分析是指对信号的频谱、功率等特性进行分析,以了解信号的特点和性能。
在MATLAB中,我们可以使用分析函数对信号进行分析。
4. 实验结果在完成以上步骤后,我们可以得到经过数字信号处理的结果。
这些结果可以是经过采样、量化、滤波和重构后的信号波形,也可以是信号的频谱、功率等特性。