通信原理与MATLAB(五):FM的调制解调
生活随笔
收集整理的這篇文章主要介紹了
通信原理与MATLAB(五):FM的调制解调
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 1.FM的調制原理
- 2.FM的解調原理
- 3.FM調制解調的代碼
- 4.FM調制解調結果圖
- 5.優缺點
1.FM的調制原理
FM是頻率調制,是用基帶信號控制載波的頻率,其實現原理如下圖所示,基帶信號經過積分器,然后和載波信號一起輸入給調相器,基帶信號控制載波的頻率,實現FM的調制。
2.FM的解調原理
FM的解調原理如下圖所示,FM信號經過信道傳輸之后,通過鑒頻器變成調幅調頻波,然后經過移相器,包絡檢波器得到包絡,去除偏置恢復出原始信號。
3.FM調制解調的代碼
FM.m,FM主文件
% FM調制解調過程 %% 基本參數 clear all; % 清除變量 close all; % 關閉所有窗口圖像 fm = 100; % 基帶信號頻率 T = 2; % 信號時長 fs = 20000; % 采樣頻率 奈奎斯特采樣定理為最大頻率的兩倍,這里取20倍為了繪制更多的細節,讓時域信號更平滑 dt=1/fs; % 時間采樣間隔,采樣頻率的倒數 N=T/dt; % 采樣點個數,總時長除以采樣間隔 t=[0:N-1]*dt; % 采樣點的時間序列,作為橫坐標%% ******************調制信號時域波形****************** Am=1; % 基帶信號幅度 mt=Am*cos(2*pi*fm*t); % 基帶信號 figure(1); % 繪制第一幅圖 subplot(221); % 窗口分割,將一幅圖分割成2*2的 plot(t,mt,'Linewidth',2); % 時間t為橫坐標,基帶信號mt為縱坐標繪圖,線寬為2 xlabel('t/時間'); % 橫坐標標注 ylabel('幅度'); % 縱坐標標注 title('基帶信號'); % 圖標題標注 axis([0,0.1,-1.1,1.1]); % 橫縱坐標范圍設置 line([0,0.1],[0,0],'color','b','Linewidth',2);% 繪制一條從(0,0)到(0.1,0)的藍色實線,線寬為2%% ******************調制信號頻域波形****************** subplot(222); [mf,msf]=T2F(t,mt); % 傅里葉變換,得到縱坐標頻譜和橫坐標頻率 plot(mf,abs(msf),'Linewidth',2); % 畫出基帶信號頻譜,線寬為2 title('基帶信號的頻譜'); % 圖標題標注 xlabel('f/Hz'); % 橫坐標標注 ylabel('幅度/H(f)'); % 縱坐標標注 axis([-150 150 -inf inf]); % 橫縱坐標范圍設置%% ******************載波信號時域波形****************** subplot(223); fc=1000; % 載波頻率 A=1; % 載波幅度 zaibo=A*cos(2*pi*fc*t); % 載波時域信號 plot(t,zaibo,'r','Linewidth',2); % 時間t為橫坐標,載波信號zaibo為縱坐標繪圖,線寬為2,紅色 xlabel('t/時間'); % 橫坐標標注 ylabel('幅度'); % 縱坐標標注 title('載波信號'); % 圖標題標注 axis([0,0.01,-1.1,1.1]); % 橫縱坐標范圍設置 line([0,0.01],[0,0],'color','b','Linewidth',2);% 繪制一條從(0,0)到(0.01,0)的藍色實線,線寬為2%% ******************載波信號頻域波形****************** subplot(224); [mf1,msf1]=T2F(t,zaibo); % 傅里葉變換,得到縱坐標頻譜和橫坐標頻率 plot(mf1,abs(msf1),'r','Linewidth',2); % 載波信號頻譜,線寬為2,紅色 title('載波信號的頻譜'); % 圖標題標注 xlabel('f/Hz'); % 橫坐標標注 ylabel('幅度/H(f)'); % 縱坐標標注 axis([-1200 1200 -inf inf]); % 橫縱坐標范圍設置%% ******************FM波信號時域波形****************** Kf=4000;%調頻系數 SFM=A*cos(2*pi*fc*t+Kf*Am/2/pi/fm.*sin(2*pi*fm*t)); %% 加噪聲 % SNR=20; %信噪比為 dB % SFM=awgn(SFM,SNR,'measured'); figure(2); % 繪制第二幅圖 subplot(211); % 窗口分割,將一幅圖分割成2*1的 plot(t,SFM,'Linewidth',2); % 畫出FM信號波形,線寬為2 title('FM調制信號'); % 圖標題標注 xlabel('t/時間'); % 橫坐標標注 ylabel('幅度'); % 縱坐標標注 axis([0,0.02,-2,2]); % 橫縱坐標范圍設置 line([0,0.02],[0,0],'color','b','Linewidth',2);% 繪制一條從(0,0)到(0.02,0)的藍色實線,線寬為2%% ******************FM波信號頻域波形****************** [mf2,msf2]=T2F(t,SFM); % 傅里葉變換,得到縱坐標頻譜和橫坐標頻率 subplot(212); plot(mf2,abs(msf2),'Linewidth',1); % 畫出AM信號頻譜 title('FM波信號的頻譜'); % 圖標題標注 xlabel('f/Hz'); % 橫坐標標注 ylabel('幅度/H(f)'); % 縱坐標標注 axis([-2500 2500 -inf inf]); % 橫縱坐標范圍設置%% ******************非相干解調****************** %% ******************調頻信號經過微分器,移相器,包絡檢波器****************** for i=1:N-1diff_SFM(i)=(SFM(i+1)-SFM(i))/dt; % 微分器,將調頻波變換成調幅調頻波 end diff_SFM=abs(hilbert(diff_SFM)); % 希爾伯特變換移相,然后包絡檢波 figure(3); subplot(211); plot([1:N-1]*dt,diff_SFM,'Linewidth',2)% 繪制包絡檢波后的波形 title('經過包絡檢波所得信號波形'); xlabel('t/時間'); % 橫坐標標注 ylabel('幅度'); % 縱坐標標注 axis([0,0.1,1000,11000]); % 橫縱坐標范圍設置 line([0,0.1],[0,0],'color','b','Linewidth',2);% 繪制一條從(0,0)到(0.1,0)的藍色實線,線寬為2 %% ******************包絡檢波后去除偏置****************** diff_SFM=(diff_SFM/A-2*pi*fc)/Kf; % 除去偏置 subplot(212); plot([1:N-1]*dt,diff_SFM,'Linewidth',2)% 繪制最終解調的波形 hold on; % 保留之前的圖不進行刷新 plot(t,mt,'r-','Linewidth',2); % 畫出原信號 title('經過非相干解調所得的信號波形'); xlabel('t/時間'); % 橫坐標標注 ylabel('幅度'); % 縱坐標標注 axis([0 0.1 -1.1 1.1]); % 橫縱坐標范圍設置 line([0,0.1],[0,0],'color','b','Linewidth',2);% 繪制一條從(0,0)到(0.1,0)的藍色實線,線寬為2T2F.m文件,FFT功能
function [f,sf]= T2F(t,st) % FFT % dt = t(2)-t(1); T=t(end); % 輸入信號的時間最大值為T df = 1/T; % dt=1/fs; 時間采樣間隔,采樣頻率的倒數;% N=T/dt; 采樣點個數,總時長除以采樣間隔% 兩式聯合推導 df = 1/T N = length(st); % 輸入信號時間的長度為采樣點數 f=-N/2*df : df : N/2 * df-df; % 頻率分布 sf = fft(st); % 做FFT sf = T/N * fftshift(sf); % 最后輸出,將0-fs頻譜搬移到-fs/2-fs/2頻譜F2T.m文件,IFFT功能
function[t,st]=F2T(f,Sf) % IFFT df=f(2)-f(1); % 頻率間隔 fmax=(f(end)-f(1)+df); % 最大頻率減最低頻率加上頻率間隔為帶寬 dt=1/fmax; % 采樣間隔 N=length(f); % 采樣點數 t=[0:N-1] * dt; % 時間分布 Sf=fftshift(Sf); % 將0-fs頻譜搬移到-fs/2-fs/2頻譜 st=fmax * ifft(Sf); % 做IFFT st=real(st); % 取實部注意:這三個文件要放在同一文件夾中,第一個是主文件,另外三個是函數文件
4.FM調制解調結果圖
為了效果展示,圖中FM信號是沒有加高斯白噪聲的。
如果想加噪聲,把下面這行代碼解除注釋即可。
5.優缺點
優點:抗噪聲能力強;
缺點:有效傳輸帶寬大,占用頻帶資源。
犧牲通信系統的有效性來提高可靠性。
總結
以上是生活随笔為你收集整理的通信原理与MATLAB(五):FM的调制解调的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我不知道前途是否光明,我只知道道路十分坎
- 下一篇: WEB网站的注册、登录、验证码