Java教程

【数字信号调制】基于matlab多进制数字频率调制(4FSK)【含Matlab源码 999期】

本文主要是介绍【数字信号调制】基于matlab多进制数字频率调制(4FSK)【含Matlab源码 999期】,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、简介

** FSK信号的解调原理**
FSK信号的解调也有非相干和相干两种,FSK信号可以看作是用两个频率源交替传输得到的,所以FSK的接收机由两个并联的ASK接收机组成。

(1)相干解调
相干解调是利用乘法器,输入一路与载频相干的参考信号与载频相乘,通过低通滤波,滤除高频信号,即得原始信号,FSK经过带通滤波之后,可以看作是两路ASK信号,相干检测器组成的原理如下所示:
在这里插入图片描述

二、源代码

% 主要功能:实现4FSK调制
% s :输入的整型序列【0-3】,f0,f1,f2,f3:分别代表4个载波
%nSamples, 每个符号的采样个数,必须为偶数
s=randint(1,10,4);
f0=1;f1=2;f2=4;f3=8;
nSamples=100;
t=0:2*pi/99:2*pi;% 注意t长度与 nSamples 长度一致
cp=[];mod=[];bit=[];
for n=1:length(s)
     if s(n)==0
         cp1=ones(1,nSamples);c=sin(f0*t);
         bit1=zeros(1,nSamples); % 00
     elseif s(n)==1
         cp1=ones(1,nSamples);c=sin(f1*t);
         bit11=zeros(1,nSamples/2); %01
         bit12=ones(1,nSamples/2);
         bit1=[bit11 bit12];
     elseif s(n)==2
         cp1=ones(1,nSamples);c=sin(f2*t);
         bit11=ones(1,nSamples/2); %10
         bit12=zeros(1,nSamples/2);
         bit1=[bit11 bit12];
     else s(n)==3
         cp1=ones(1,nSamples);c=sin(f3*t);
         bit11=ones(1,nSamples/2); %11
         bit12=ones(1,nSamples/2);
         bit1=[bit11 bit12];
     end
     
     cp=[cp cp1];
     mod=[mod c];
     bit=[bit bit1];
end

三、运行结果

在这里插入图片描述

四、备注

版本:2014a
完整代码或代写加1564658423

这篇关于【数字信号调制】基于matlab多进制数字频率调制(4FSK)【含Matlab源码 999期】的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!