信号处理趣学D11——怎么避免信号调质过程的时候重叠失真?
重叠失真(alisasing)或者混叠失真是在信号调制的时候,载波频率小于原信号最高频率导致的。下面小虎就带大家用MATLAB仿真理解一下。
仿真结果
原始信号如下:
y
1
=
s
i
n
(
200
π
t
)
y_1=sin(200\pi t)
y1=sin(200πt)
调质频率分别是300Hz和50Hz
下面一组图中,从左到右、上到下依次是原始信号1、调幅波1,2、解调波1,2的时域图像。
- 可以看到,由于调制频率50Hz比原始信号的频率100Hz小,所以调幅波出现波峰混乱的情况。
- 解调后,由于重叠失真,导致解调后的波形与原始信号极大偏离。
- 为了避免重叠失真,参考信号采样中的采样定理,载波频率应该比原始信号的频率大。实际使用中,载波频率至少数倍甚至数十倍大于原始信号的最高频率。
代码分析
参数设置
采样频率是44100,采样间隔1/44100。调质波为:
y
=
s
i
n
(
200
π
t
)
y=sin(200\pi t)
y=sin(200πt)
Fs=44100;
dt=1.0/Fs;
T=1; N=T/dt;
t=[0:N-1]/N;
x1=sin(2*pi*100*t);
调制
% fz=300Hz
subplot(2,2,1)
x2=ammod(x1,300,Fs,0);
plot(t,x2);
axis([0,0.2,-1.2,1.2]);
% fz=50Hz
subplot(2,2,2)
x4=ammod(x1,50,Fs,0);
plot(t,x4);
axis([0,0.2,-1.2,1.2]);
解调
% fz=300Hz
subplot(2,2,3)
x3=amdemod(x2,300,Fs,0);
plot(t,x3);
axis([0,0.2,-1.2,1.2]);
% fz=50Hz
subplot(2,2,4)
x5=amdemod(x4,50,Fs,0);
plot(t,x5);
axis([0,0.2,-1.2,1.2]);
完整代码
Fs=44100;
dt=1.0/Fs;
T=1; N=T/dt;
t=[0:N-1]/N;
x1=sin(2*pi*100*t);
% fz=300Hz
subplot(2,2,1)
x2=ammod(x1,300,Fs,0);
plot(t,x2);
axis([0,0.2,-1.2,1.2]);
subplot(2,2,3)
x3=amdemod(x2,300,Fs,0);
plot(t,x3);
axis([0,0.2,-1.2,1.2]);
% fz=50Hz
subplot(2,2,2)
x4=ammod(x1,50,Fs,0);
plot(t,x4);
axis([0,0.2,-1.2,1.2]);
subplot(2,2,4)
x5=amdemod(x4,50,Fs,0);
plot(t,x5);
axis([0,0.2,-1.2,1.2]);
参考资料
[1] 张春华等,工程测试技术基础(第二版),华中科技大学出版社
[2] 何岭松等,中国大学MOOC——工程测试技术基础