fsk(matlab)33

%E6_1_FskMod.m
ps=1*10^6;  %码速率为1MHz
N=1000;       %数据码元个数
Fs=32*10^6; %采样速率为32MHz
fc=6*10^6;  %载波频率为6MHz
Len=N*Fs/ps;

%仿真调制指数为0.5时的FSK信号
m=1.5;        %调制指数
freqsep=m*ps; %FSK信号中,两个频率之间的间隔
nsamp=Fs/ps;  %每个码元的采样点数
x = randint(N,1,2); % 产生随机数据做为数据码元
ContData = fskmod(x,2,freqsep,nsamp,Fs,'cont');       % 产生连续相位FSK调制信号的正交基带数据
DisContData = fskmod(x,2,freqsep,nsamp,Fs,'discont'); % 产生非连续相位FSK调制信号的正交基带数据
%将基带FSK信号正交上变频至6MHz中频
t=0:1/Fs:(Len-1)/Fs;
f0=cos(2*pi*fc.*t)+sin(2*pi*fc.*t)*sqrt(-1);
Contfsk=real(ContData.*f0');
DisContfsk=real(DisContData.*f0');
%计算FSK信号的幅频特性
m_ContFsk=20*log10(abs(fft(Contfsk,2048)));
m_DisFsk=20*log10(abs(fft(DisContfsk,2048)));
m05_ContFsk=m_ContFsk-max(m_ContFsk);
m05_DisFsk=m_DisFsk-max(m_DisFsk);

%仿真调制指数为0.715时的FSK信号
m=0.715;        %调制指数
freqsep=m*ps; %FSK信号中,两个频率之间的间隔
nsamp=Fs/ps;  %每个码元的采样点数
x = randint(N,1,2); % 产生随机数据做为数据码元
ContData = fskmod(x,2,freqsep,nsamp,Fs,'cont');       % 产生连续相位FSK调制信号的正交基带数据
DisContData = fskmod(x,2,freqsep,nsamp,Fs,'discont'); % 产生非连续相位FSK调制信号的正交基带数据
%将基带FSK信号正交上变频至6MHz中频
t=0:1/Fs:(Len-1)/Fs;
f0=cos(2*pi*fc.*t)+sin(2*pi*fc.*t)*sqrt(-1);
Contfsk=real(ContData.*f0');
DisContfsk=real(DisContData.*f0');
%计算FSK信号的幅频特性
m_ContFsk=20*log10(abs(fft(Contfsk,2048)));
m_DisFsk=20*log10(abs(fft(DisContfsk,2048)));
m07_ContFsk=m_ContFsk-max(m_ContFsk);
m07_DisFsk=m_DisFsk-max(m_DisFsk);

%仿真调制指数为0.715时的FSK信号
m=1;        %调制指数
freqsep=m*ps; %FSK信号中,两个频率之间的间隔
nsamp=Fs/ps;  %每个码元的采样点数
x = randint(N,1,2); % 产生随机数据做为数据码元
ContData = fskmod(x,2,freqsep,nsamp,Fs,'cont');       % 产生连续相位FSK调制信号的正交基带数据
DisContData = fskmod(x,2,freqsep,nsamp,Fs,'discont'); % 产生非连续相位FSK调制信号的正交基带数据
%将基带FSK信号正交上变频至6MHz中频
t=0:1/Fs:(Len-1)/Fs;
f0=cos(2*pi*fc.*t)+sin(2*pi*fc.*t)*sqrt(-1);
Contfsk=real(ContData.*f0');
DisContfsk=real(DisContData.*f0');
%计算FSK信号的幅频特性
m_ContFsk=20*log10(abs(fft(Contfsk,2048)));
m_DisFsk=20*log10(abs(fft(DisContfsk,2048)));
m1_ContFsk=m_ContFsk-max(m_ContFsk);
m1_DisFsk=m_DisFsk-max(m_DisFsk);
b=abs(fft(Contfsk,1024));
xh=0:(Fs*500/length(Contfsk)):Fs/2;
figure(3);
% plot(xh,b(1:length(xh)));
plot(t(1:1024),Contfsk(1:1024));

%仿真调制指数为3.5时的FSK信号
m=3.5;        %调制指数
freqsep=m*ps; %FSK信号中,两个频率之间的间隔
nsamp=Fs/ps;  %每个码元的采样点数
x = randint(N,1,2); % 产生随机数据做为数据码元
ContData = fskmod(x,2,freqsep,nsamp,Fs,'cont');       % 产生连续相位FSK调制信号的正交基带数据
DisContData = fskmod(x,2,freqsep,nsamp,Fs,'discont'); % 产生非连续相位FSK调制信号的正交基带数据
%将基带FSK信号正交上变频至6MHz中频
t=0:1/Fs:(Len-1)/Fs;
f0=cos(2*pi*fc.*t)+sin(2*pi*fc.*t)*sqrt(-1);
Contfsk=real(ContData.*f0');
a=abs(fft(Contfsk,1024));
DisContfsk=real(DisContData.*f0');
figure(2);
plot(t(1:1024),a(1:1024));

%计算FSK信号的幅频特性
m_ContFsk=20*log10(abs(fft(Contfsk,2048)));
m_DisFsk=20*log10(abs(fft(DisContfsk,2048)));
m35_ContFsk=m_ContFsk-max(m_ContFsk);
m35_DisFsk=m_DisFsk-max(m_DisFsk);

%绘图
%设置幅频响应的横坐标单位为MHz
x_f=1:length(m_ContFsk);x_f=x_f*Fs/length(m_ContFsk)/10^6;
%绘制连续相位的时域波形及频谱
figure(1);
subplot(421);
plot(x_f,m05_ContFsk);axis([0 Fs/2/10^6 -80 0]);
legend('h=1.5 CPFSK');
xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
subplot(422);
plot(x_f,m05_DisFsk);axis([0 Fs/2/10^6 -80 0]);
legend('h=1.5 FSK');
xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
subplot(423);
plot(x_f,m07_ContFsk);axis([0 Fs/2/10^6 -80 0]);
legend('h=0.715 CPFSK');
xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
subplot(424);
plot(x_f,m07_DisFsk);axis([0 Fs/2/10^6 -80 0]);
legend('h=0.715 FSK');
xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
subplot(425);
plot(x_f,m1_ContFsk);axis([0 Fs/2/10^6 -80 0]);
legend('h=1 CPFSK');
xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
subplot(426);
plot(x_f,m1_DisFsk);axis([0 Fs/2/10^6 -80 0]);
legend('h=1 FSK');
xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
subplot(427);
plot(x_f,m35_ContFsk);axis([0 Fs/2/10^6 -80 0]);
legend('h=3.5 CPFSK');
xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;
subplot(428);
plot(x_f,m35_DisFsk);axis([0 Fs/2/10^6 -80 0]);
legend('h=3.5 FSK');
xlabel('频率(MHz)');ylabel('幅度(dB)');%grid on;

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值