1. 程式人生 > 其它 >【數字訊號調製】基於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