3.1 数字信号的ASK 调制
clear; %清除空间变量
m=[1 1 1 0 0 0 1 0 1 1 0 1]; %数字信号序列
Lm=length(m); %序列的长度
F=200; %数字信号的带宽
f=800; %正弦载波信号的频率
A=1; %载波的幅度
Q=f/F; %频率比,即一个码元宽度中的正弦周期个数,为适配下面滤波器参数选
%取,推荐将Q 设为
Q>=1/3
M=500; %一个正弦周期内的采样点数
t=(0:M-1)/M/f; %一个正弦信号周期内的时间
carry1=repmat(A*sin(2*pi*f*t),1,Q); %一个码元宽度内的正弦载波信号
Lcarry1=length(carry1); %一个码元宽度内的信号长度
carry2=kron(ones(size(m)),carry1); %载波信号
ask=kron(m,carry1); %调制后的信号
N=length(ask); %长度
tau=(0:N-1)/(M-1)/f; %时间
Tmin=min(tau); %最小时刻
Tmax=max(tau); %最大时刻
T=ones(size(carry1)); %一个数字信号‘1’
dsig=kron(m,T); %数字信号波形
subplot(7,1,1) %子图分割
plot(tau,dsig) %画出数字信号的波形图
title('数字信号');
grid on %添加网
axis([Tmin Tmax -0.2 1.2]) %设置坐标范围
subplot(7,1,2) %子图分割
plot(tau,carry2) %画出载波波形
title('载波波形');
grid on %添加网格
axis([Tmin Tmax -1.2*A 1.2*A]) %设置坐标范围
subplot(7,1,3) %子图分割
plot(tau,ask) %画出调制后的波形
title('调制后的波形');
grid on %添加网格
axis([Tmin Tmax -1.2*A 1.2*A]) %设置坐标范围
sig_mul=ask.*carry2; %已调信号与载波信号相乘
subplot(7,1,4 )%子图分割
plot(tau,sig_mul) %画出信号相乘后的波形
Title('信号相乘后的波形');
grid on %添加网格
axis([Tmin Tmax -0.2 1.2])
[Ord,omega_c]=buttord(4*pi*f*0.6,4*pi*f*0.8,2,30,'s'); %获得Butterworth 模拟低通原型滤波器的阶数及3dB 截止频率
[num,den]=butter(Ord,omega_c,'s'); %由原型滤波器向实际滤波器转换,获得滤波器的分子,分母系数
h=tf(num,den); %获得滤波器传递函数%滤波
x=lsim(h,sig_mul,tau); %运用模拟滤波器对信号进行滤波
subplot(7,1,5) %子图分割
plot(tau,x) %画出滤波后的滤形
title('滤波后的波形');
grid on %添加网格
axis([Tmin Tmax -0.3 0.8]) %设置坐标范围
th=0.25; %抽样判决的阈值设置
t_judge=(0:Lm-1)*Lcarry1+Lcarry1/2; %抽样判决点的选取
y=(x(t_judge))'; %抽样判决时刻时的信号值
y_judge=1*(y>=th)+0*(y<=th); %抽样判决信号值的0 阶保持
y_value=kron(y_judge,ones(size(carry1))); %抽样判决后的数字信号波形
n_tau=tau+0.5/F; %抽样判决后的信号对应的时间
subplot(7,1,6) %子图分割
plot(n_tau,y_value) %画出抽样判决后的数字信号波形
title('抽样判决后的数字信号波形');
axis([min(n_tau) max(n_tau) -0.2 1.2]) %设置坐标范围
grid on %添加网格
subplot(7,1,7) %子图分割
plot(tau,dsig) %画出原始信号波形与解调后的信号作对比
title('原始信号波形与解调后的信号作对比');
axis([Tmin Tmax -0.2 1.2]) %设置坐标范围
grid on %添加网格