关于奈奎斯特采样中的频率镜像

在学习数字信号处理时,经常提到奈奎斯特采样定律,也经常看到下图:




很多时候,对上图横坐标fs处的虚线频谱不理解,怎么就有那个虚线了呢?那个虚线处,一般说是镜像频谱。

现在举例说明:


假如有两个sine波形,一个频率是1000Hz,另外一个频率是7000Hz.

s0  =  sin(2*pi*1000*t),   pi表示圆周率3.1415926......

s1  =  sin(2*pi*7000*t)


我们知道,这两个sine波是不一样的,一个是1000Hz频率,一个是7000Hz频率,如果播放出来,给人的听觉是完全不同的。


上面两个波形是用连续信号(或者说模拟信号)的方式表达的。现在,我们要对他们进行数字化并存储下来,不幸的是,我们只有一个8000Hz采样率的采样设备,即一秒钟能采样8000个点。每个点我们用x[k]来表示,其中k是0,1,2,3,4.....的整数。那么,每个点的采样时间间隔就是 1/8000秒。


所以,每个点的采样时间点在:


0秒       1/8000秒      2/8000秒       ..........   k/8000秒.........


则对s0采样,可以表示为:

x0[k] = sin( 2*pi*1000*(1/8000*k) )


对s1采样,可以表示为:

x1[k] = sin(2*pi*7000*(1/8000*k) )进一步整理得到

x1[k] = sin(2*pi*(8000 - 1000)*(1/8000*k) )

         = sin(2*pi*8000*(1/8000*k) - 2*pi*1000*(1/8000)*k)

         = sin(2*pi*k - 2*pi*1000*(1/8000*k) )

         = - sin(2*pi*1000*(1/8000*k))


可以看到x0[k]  与 x1[k]序列,只是符号相反,幅度是完全相同的。也就是说,频率相同,相位相反。


更一般的,假设一个频率是f0(令其小于fs/2),另外一个频率是fs - f0,其中fs是采样频率。


x[k] = sin(2*pi*(fs-f0) * 1/fs * k )

       = sin(2*pi*k - 2*pi*f0*1/fs*k)

       = -sin(2*pi*f0*1/fs*k)


所以,fs - f0频率的sine波,与f0频率的sine波,在用fs采样率来采样的话,会得到频率相同相位相反的序列。



matlab代码如下:


fs=8000;
t=[0:1/fs:1];
f0 = 1000;
f0_mirror = 7000;
x = sin(2*pi*f0*t);
x_mirror = sin(2*pi*f0_mirror*t);


subplot(2,1,1),plot(x(1:100),'.-');
subplot(2,1,2),plot(x_mirror(1:100),'.-');


得到如下图形:









评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值