在路上。

读好书。
判断采样是否频谱混叠

 

频谱混叠带来的扭曲:1.频率改变;2.相位失真。

这里只讨论频率改变的情况。其实频率改变包含:1.高频部分混叠到已有低频部分,造成高频消失。2.低频部分幅度为0,高频混到低频,造成高频消失的同时产生了低频。

看下面一个例子。

The analog signal xa(t)= 4+2 cos(150πt + π/3) + 4 sin(350πt)is sampled at Fs = 200 sam/sec to obtain the discrete-time signal x(n).

分析:

The highest frequency in the given xa(t) is F0 = 175 Hz. Since Fs = 200, which is less than 2F0, there will be aliasing in x(n) after sampling.

采样过程:

Ts =1/Fs =0.005 sec;

x(n)= xa(nTs)= xa(0.005n)

                    =4+2 cos(0.75πn + π/3)+4 sin(1.75πn);

显然1.75π超出了-pi~pi这个范围,故产生了混叠。

混叠判断的方法:1.从题设分析,找出最高频率和采样频率。2.从采样后式子分析,看最高频率是否超出-pi~pi这个范围。

变形:

x(n)= 4+2 cos(0.75πn + π/3 )+4 sin(1.75πn − 2πn)
      = 4+2 cos(0.75πn + π/3 ) − 4 sin(0.25πn)

显然,变形后式子与原式子在数学上是一模一样的,图像当然也是一样的。

但是这样带来的问题是,单从式子是看不出采样是否存在混叠,因为+-0.25π都在-pi~pi这个范围;同时也看不出原来模拟信号的最高频率了,因为0.25π/Ts=50pi!=350pi;这也正是混叠带来的严重后果,混叠的真谛也正是在这里,混叠而不可以完全分辨,不可完全返回模拟信号。

看matlab仿真,DTFT更新了:

 1 function [X,m]= DTFT(x,n,equ,T)
 2 %
 3 %功能:实现离散序列傅立叶变换X(ejw);
 4 %x,n为输入序列
 5 %w从0~π分成equ份
 6 %T表示作图0~T*π
 7 %并画出了幅频特性图
 8 
 9 
10 k = -equ:equ; w = (pi/equ) * k;
11 X = x * (exp(-j*T*pi/equ)) .^(n'*k);
12 
13 magX = abs(X); angX = angle(X);
14 realX = real(X); imagX = imag(X);
15 subplot(2,2,1); plot(T*k/equ,magX);grid
16 xlabel('frequency in pi units'); title('Magnitude Part');xlim([-T,T])
17 subplot(2,2,3); plot(T*k/equ,angX/pi);grid
18 xlabel('frequency in pi units'); title('Angle Part');xlim([-T,T])
19 subplot(2,2,2); plot(T*k/equ,realX);grid
20 xlabel('frequency in pi units'); title('Real Part');xlim([-T,T])
21 subplot(2,2,4); plot(T*k/equ,imagX);grid
22 xlabel('frequency in pi units'); title('Imaginary Part');xlim([-T,T])

在命令窗口输入:

>> n = [-100:100];x = 4*ones(1,length(n)) + 2*cos(0.75*pi*n+pi/3*ones(1,length(n)))+4*sin(1.75*pi*n);1.75π

>> DTFT(x,n,500,2);

输出结果:

如只看-pi~pi的内容,则在0.25出会出现一个突出,明显这是混叠带来的结果,高频已死,低频由生。

posted on 2013-05-09 15:13  OneSinc  阅读(3721)  评论(0)    收藏  举报