%4fsk调制解调
clc
clear
n=100;
f1=500;f2=1000;
f3=2000;f4=3000;
t0=1;
fm=n;
band1=ones(1,200);
band2=ones(1,length(band1)*2);
band1_num=length(band1);
t=linspace(0,t0,n*band1_num);
a=round(rand(1,n));
b=two_to_four(a);
aa=draw(a,band1);%二进制信号画图
bb=draw(b,band2);%四进制信号画图
%*************画图*************
figure(1);
subplot(211);
plot(t,aa,'g');
axis([0,t0,-1,2]);
title('原始二进制信号');
subplot(212);
plot(t,bb,'r');
axis([0,t0,-1,4]);
title('2/4电平变换后的信号');
%*************调制/画图*************
e_4fsk=modulate_4fsk(b,f1,f2,f3,f4,t0,fm,band2);
figure(2);
subplot(221);
plot(t,e_4fsk);
title('4fsk时域波形')
N=length(t);
w=(0:N/2-1)/t0;
e_4fsk_fft=fft(e_4fsk);
subplot(212);
plot(w,(2/N)*abs(e_4fsk_fft(1:N/2)));
title('频域波形');
%*************带通滤波*************
%4路带通滤波器,中心频率分别为f1,f2,f3,f4
%************中心频率f1的滤波器参数*******
fs=n*band1_num;
fpass1=f1-fm;
fpass2=f1+fm;
fs1=fpass1-2*fm;
fs2=fpass2+2*fm;
bandpass1=bandpass_1(fs,fs1,fpass1,fpass2,fs2);
e_4fsk_f1_bpf=filtfilt(bandpass1,1,e_4fsk);
%************中心频率f2的滤波器参数*******
fs=n*band1_num;
fpass1=f2-fm;
fpass2=f2+fm;
fs1=fpass1-2*fm;
fs2=fpass2+2*fm;
bandpass2=bandpass_1(fs,fs1,fpass1,fpass2,fs2);
e_4fsk_f2_bpf=filtfilt(bandpass2,1,e_4fsk);
%************中心频率f3的滤波器参数*******
%fs=n*band1_num;
fpass1=f3-fm;
fpass2=f3+fm;
fs1=fpass1-2*fm;
fs2=fpass2+2*fm;
bandpass3=bandpass_1(fs,fs1,fpass1,fpass2,fs2);
e_4fsk_f3_bpf=filtfilt(bandpass3,1,e_4fsk);
%************中心频率f4的滤波器参数*******
%fs=n*band1_num;
fpass1=f4-fm;
fpass2=f4+fm;
fs1=fpass1-2*fm;
fs2=fpass2+2*fm;
bandpass4=bandpass_1(fs,fs1,fpass1,fpass2,fs2);
e_4fsk_f4_bpf=filtfilt(bandpass4,1,e_4fsk);
%*************时域和频域画图*************
figure(3);
subplot(421);
plot(t,e_4fsk_f1_bpf);
title('中心频率f1的时域图');
subplot(422);
e_4fsk_f1_filt_fft=fft(e_4fsk_f1_bpf);
plot(w,(2/N)*abs(e_4fsk_f1_filt_fft(1:N/2)));
title('左图频谱');
subplot(423);
plot(t,e_4fsk_f2_bpf);
title('中心频率f2的时域图');
subplot(424);
e_4fsk_f2_filt_fft=fft(e_4fsk_f2_bpf);
plot(w,(2/N)*abs(e_4fsk_f2_filt_fft(1:N/2)));
title('左图频谱');
subplot(425);
plot(t,e_4fsk_f3_bpf);
title('中心频率f3的时域图');
subplot(426);
e_4fsk_f3_filt_fft=fft(e_4fsk_f3_bpf);
plot(w,(2/N)*abs(e_4fsk_f3_filt_fft(1:N/2)));
title('左图频谱');
subplot(427);
plot(t,e_4fsk_f4_bpf);
title('中心频率f4的时域图');
subplot(428);
e_4fsk_f4_filt_fft=fft(e_4fsk_f4_bpf);
plot(w,(2/N)*abs(e_4fsk_f4_filt_fft(1:N/2)));
title('左图频谱');
%*****************相干解调******************
e_4fsk_f1_bpf_demo=e_4fsk_f1_bpf.*cos(2*pi*f1*t);
e_4fsk_f2_bpf_demo=e_4fsk_f2_bpf.*cos(2*pi*f2*t);
e_4fsk_f3_bpf_demo=e_4fsk_f3_bpf.*cos(2*pi*f3*t);
e_4fsk_f4_bpf_demo=e_4fsk_f4_bpf.*cos(2*pi*f4*t);
lpf=LBF1(fs,fm,5*fm);
e_4fsk_f1_bpf_demo_lpf=filtfilt(lpf,1,e_4fsk_f1_bpf_demo);
e_4fsk_f2_bpf_demo_lpf=filtfilt(lpf,1,e_4fsk_f2_bpf_demo);
e_4fsk_f3_bpf_demo_lpf=filtfilt(lpf,1,e_4fsk_f3_bpf_demo);
e_4fsk_f4_bpf_demo_lpf=filtfilt(lpf,1,e_4fsk_f4_bpf_demo);
%***********低通滤波后的时域图*************
figure(4)
subplot(411);
plot(t,e_4fsk_f1_bpf_demo_lpf);
title('中心频率f1的低通时域波形');
subplot(412);
plot(t,e_4fsk_f2_bpf_demo_lpf);
title('中心频率f2的低通时域波形');
subplot(413);
plot(t,e_4fsk_f3_bpf_demo_lpf);
title('中心频率f3的低通时域波形');
subplot(414);
plot(t,e_4fsk_f4_bpf_demo_lpf);
title('中心频率f4的低通时域波形');
%%***************判决****************
d=zeros(1,length(b));%存储解调信号
N=length(b);
e_4fsk_f1_bpf_demo_lpf=reshape(e_4fsk_f1_bpf_demo_lpf,length(band2),length(b));
e_4fsk_f2_bpf_demo_lpf=reshape(e_4fsk_f2_bpf_demo_lpf,length(band2),length(b));
e_4fsk_f3_bpf_demo_lpf=reshape(e_4fsk_f3_bpf_demo_lpf,length(band2),length(b));
e_4fsk_f4_bpf_demo_lpf=reshape(e_4fsk_f4_bpf_demo_lpf,length(band2),length(b));
for i=1:N
if (e_4fsk_f1_bpf_demo_lpf(length(band2)/2,i)>e_4fsk_f2_bpf_demo_lpf(length(band2)/2,i))&&...
(e_4fsk_f1_bpf_demo_lpf(length(band2)/2,i)>e_4fsk_f3_bpf_demo_lpf(length(band2)/2,i))&&...
(e_4fsk_f1_bpf_demo_lpf(length(band2)/2,i)>e_4fsk_f4_bpf_demo_lpf(length(band2)/2,i))
d(i)=0;
elseif (e_4fsk_f2_bpf_demo_lpf(length(band2)/2,i)>e_4fsk_f1_bpf_demo_lpf(length(band2)/2,i))&&...
(e_4fsk_f2_bpf_demo_lpf(length(band2)/2,i)>e_4fsk_f3_bpf_demo_lpf(length(band2)/2,i))&&...
(e_4fsk_f2_bpf_demo_lpf(length(band2)/2,i)>e_4fsk_f4_bpf_demo_lpf(length(band2)/2,i))
d(i)=1;
elseif (e_4fsk_f3_bpf_demo_lpf(length(band2)/2,i)>e_4fsk_f1_bpf_demo_lpf(length(band2)/2,i))&&...
(e_4fsk_f3_bpf_demo_lpf(length(band2)/2,i)>e_4fsk_f2_bpf_demo_lpf(length(band2)/2,i))&&...
(e_4fsk_f3_bpf_demo_lpf(length(band2)/2,i)>e_4fsk_f4_bpf_demo_lpf(length(band2)/2,i))
d(i)=2;
else
d(i)=3;
end
end
%*******************对比*******************
a_demo=fout_to_two(d);
dd=draw(d,band2);
aa_demo=draw(a_demo,band1);
figure(5);
subplot(211);
plot(t,aa_demo);
axis([0,t0,-1,2]);
title('解调后的二进制电平');
subplot(212);
plot(t,dd);
title('解调后的4进制电平');
axis([0,t0,-1,4]);
%}
没有合适的资源?快使用搜索试试~ 我知道了~
多进制调制解调(2fsk,2psk,4ask,4fsk)
共18个文件
m:16个
asv:2个
需积分: 5 8 下载量 132 浏览量
2022-04-27
17:52:45
上传
评论 2
收藏 12KB RAR 举报
温馨提示
基本上按照原理框图,完成每一步编程。
资源详情
资源评论
资源推荐
收起资源包目录
调制、解调.rar (18个子文件)
2fs
2fsk调制解调
kais.m 1KB
LBF1.m 606B
lpf_kasi.m 828B
fsk.m 3KB
kais4.m 1KB
多进制调制
4fsk
draw.m 110B
LBF1.m 815B
modulate_4fsk.m 341B
fsk_4.asv 5KB
fout_to_two.m 232B
bandpass_1.m 1KB
two_to_four.m 223B
fsk_4.m 5KB
4ask
4ask
Untitled.asv 2KB
Untitled.m 2KB
hd.m 810B
2psk
2psk调制解调
LBF1.m 620B
psk_2.m 2KB
共 18 条
- 1
wk763511309
- 粉丝: 2
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0