Ts=1; %码元周期
fs=1000; %每个码元抽样点数
dt=Ts/fs; %抽样的时间间隔
f1=5; %载波信号1的频率
f2=15; %载波信号1的频率
N=200; %码元数
t=0:dt:(N*fs-1)*dt;
random_code=randi([0,1],1,N);%生成随机码元
gt1=ones(1,fs); %基本码元 g(t)=1,不归零
gt0=zeros(1,fs); %基本码元 g(t)=0
mt1=zeros(1,N*fs-1);
mt2=zeros(1,N*fs-1);
for i=1:N
if random_code(i)==1
mt1((i-1)*fs+1:i*fs)=gt1;
else
mt1((i-1)*fs+1:i*fs)=gt0;
end
end
for i=1:N
if random_code(i)==1
mt2((i-1)*fs+1:i*fs)=gt0;
else
mt2((i-1)*fs+1:i*fs)=gt1;
end
end
figure(1)
subplot(211)
plot(t,mt1,'linewidth',1.5);
title('二进制单极性不归零基带信号');
xlabel('时间(s)');ylabel('电压值(V)');
axis([0,8,-0.1,1.1]);
grid on;
a1=cos(2*pi*f1*t);
a2=cos(2*pi*f2*t);
fsk=mt1.*a2+mt2.*a1;
subplot(212)
plot(t,fsk);
title('2FSK调制信号');
xlabel('时间(s)');ylabel('电压值(V)');
axis([0,8,-1.1,1.1]);
grid on;
fmt1=fft(mt1);
fmt1=fftshift(fmt1);%将频谱频率中心移到原点
fmt1=abs(fmt1);%求幅度频谱
fmt1_dB=fmt1.^2/Ts;%求幅度频谱平方
maxF1=max(fmt1_dB);%求幅度频谱平方最大值
fmt1_dB=fmt1_dB/maxF1;%归一化
fmt1_dB=10*log10(fmt1_dB+eps);
w1=(-length(fmt1)/2:length(fmt1)/2-1)/200;
figure(2);
subplot(211)
plot(w1,fmt1_dB);
title('单极性不归零基带信号功率谱密度');
xlabel('频率(Hz)');ylabel('功率谱幅度值(dB)');
axis([-5,5,-160,0]);
grid on;
fmt2=fft(fsk);
fmt2=fftshift(fmt2);%将频谱频率中心移到原点
fmt2=abs(fmt2);%求幅度频谱
fmt2_dB=fmt2.^2/Ts;%求幅度频谱平方
maxF2=max(fmt2_dB);%求幅度频谱平方最大值
fmt2_dB=fmt2_dB/maxF1;%归一化
fmt2_dB=10*log10(fmt2_dB + eps);
w2=(-length(fmt2)/2:length(fmt2)/2-1)/200;
subplot(212)
plot(w2,fmt2_dB);
title('FSK调制信号功率谱密度');
xlabel('频率(Hz)');ylabel('功率谱幅度值(dB)');
axis([-25,25,-150,0]);
grid on;
figure(3)
subplot(211)
plot(t,fsk);
title('发送端FSK调制信号波形图');
xlabel('时间(s)');ylabel('电压值(V)');
axis([0,8,-1.1,1.1]);
grid on;
fsk1=awgn(fsk,10);
subplot(212)
plot(t,fsk1);
title('接收端叠加噪声后的FSK调制信号波形图');
xlabel('时间(s)');ylabel('电压值(V)');
axis([0,8,-2,2]);
grid on;
figure(5)
N1=length(t);
[f1,fout1]=IdealFilter(N1,fs,0,10,fft(fsk1));
fsk2=real(ifft(fout1));
subplot(211)
plot(t,fsk2);
title('FSK调制信号经过理想低通滤波器后信号波形图(mt1)');
xlabel('时间(s)');ylabel('电压值(V)');
axis([0,8,-1.2,1.2]);
grid on;
subplot(212)
plot(f1,abs(fftshift(fout1)));
title('FSK调制信号理想低通滤波结果(f1)');
xlabel('时间(s)');ylabel('电压值(V)');
axis([-30,30,0,40000]);
grid on;
figure(6)
N1=length(t);
[f2,fout2]=IdealFilter(N1,fs,10,20,fft(fsk1));
fsk3=real(ifft(fout2));
subplot(211)
plot(t,fsk3);
title('FSK调制信号经过理想低通滤波器后信号波形图(mt2)');
xlabel('时间(s)');ylabel('电压值(V)');
axis([0,8,-1.2,1.2]);
grid on;
subplot(212)
plot(f2,abs(fftshift(fout2)));
title('FSK调制信号理想低通滤波结果(f2)');
xlabel('时间(s)');ylabel('电压值(V)');
axis([-30,30,0,40000]);
grid on;
figure(7)
subplot(211)
fsk4=abs(fsk2);
plot(t,fsk4);
title('m1(t)全波整流信号波形图');
xlabel('时间(s)');ylabel('电压值(V)');
axis([0,8,-0.1,1.2]);
grid on;
subplot(212)
fmt4=fft(fsk4);
fmt4=fftshift(fmt4);%将频谱频率中心移到原点
fmt4=abs(fmt4);%求幅度频谱
w4=(-length(fmt4)/2:length(fmt4)/2-1)/200;
plot(w4,fmt4);
title('m1(t)全波整流信号的幅频特性');
xlabel('频率(Hz)');ylabel('频谱幅度值');
axis([-30,30,0,60000]);
grid on;
figure(8)
N1=length(t);
[f4,fout4]=IdealFilter(N1,fs,0,5,fft(fsk4));
fsk6=real(ifft(fout4));
subplot(211)
plot(t,fsk6);
title('m1(t)包络检波信号波形图');
xlabel('时间(s)');ylabel('电压值(V)');
axis([0,8,-0.1,0.8]);
grid on;
subplot(212)
plot(f4,abs(fftshift(fout4)));
title('m1(t)包络检波信号的幅频特性');
xlabel('时间(s)');ylabel('电压值(V)');
axis([-15,15,0,60000]);
grid on;
figure(9)
subplot(211)
fsk5=abs(fsk3);
plot(t,fsk5);
title('m2(t)全波整流信号波形图');
xlabel('时间(s)');ylabel('电压值(V)');
axis([0,8,-0.1,1.2]);
grid on;
subplot(212)
fmt5=fft(fsk5);
fmt5=fftshift(fmt5);%将频谱频率中心移到原点
fmt5=abs(fmt5);%求幅度频谱
w5=(-length(fmt5)/2:length(fmt5)/2-1)/200;
plot(w5,fmt5);
title('m2(t)全波整流信号的幅频特性');
xlabel('频率(Hz)');ylabel('频谱幅度值');
axis([-40,40,0,60000]);
grid on;
figure(10)
N1=length(t);
[f5,fout5]=IdealFilter(N1,fs,0,5,fft(fsk5));
fsk5=real(ifft(fout5));
subplot(211)
plot(t,fsk5);
title('m2(t)包络检波信号波形图');
xlabel('时间(s)');ylabel('电压值(V)');
axis([0,8,-0.1,0.9]);
grid on;
subplot(212)
plot(f5,abs(fftshift(fout5)));
title('m2(t)包络检波信号的幅频特性');
xlabel('时间(s)');ylabel('电压值(V)');
axis([-15,15,0,60000]);
grid on;
figure(11)
subplot(211)
plot(t,mt1,'linewidth',1.5);
title('发送端的被调制信号波形图');
xlabel('时间(s)');ylabel('电压值(V)');
axis([0,8,-0.1,1.1]);
grid on;
subplot(212)
fsk6=zeros(1,N*fs-1);
gt2=zeros(1,0.5*fs);
fsk6=gt2;
for i=1:N
if fsk4(i*fs-500)<fsk5(i*fs-500)
fsk6=[fsk6 gt1];
else
fsk6=[fsk6 gt0];
end
end
t2=0:dt:((N+0.5)*fs-1)*dt;
plot(t2,fsk6,'linewidth',1.5);
title('接收采样判决后恢复的被调制信号波形图');
xlabel('时间(s)');ylabel('电压值(V)');
axis([0,8,-0.1,1.1]);
grid on;
ask fsk.rar_ASK和FSk调制解调 matlab_MatlabASKFSK_XBL_ask调制解调_fsk解调
版权申诉
185 浏览量
2022-09-21
22:06:42
上传
评论
收藏 4KB RAR 举报
朱moyimi
- 粉丝: 63
- 资源: 1万+
评论0