天天看點

matlab實作兩個正弦信号的混頻并進行傅裡葉變換(學會從頻域去觀察信号的特性)理論知識matlab代碼信号分析

matlab實作兩個正弦信号的混頻并進行傅裡葉變換(學會從頻域去觀察信号的特性)

  • 理論知識
  • matlab代碼
  • 信号分析

理論知識

以前也學過傅裡葉變換的知識,但是一直沒有了解進行傅裡葉變換之後有什麼作用,這次通過對兩路正弦信号的混頻并進行頻域的分析,讓我對幅頻特性有了一個深刻的認識。

在數學中我們都學過積化和差公式,兩個不同頻率的信号相乘可以化簡為兩個頻率的信号相加的而形式。

matlab代碼

clc;
clear;
fs=50e6;
f1=1e6;
f2=5e6;
n=0:2047;
s_1=sin(2*pi*f1*n/fs);
s_2=sin(2*pi*f2*n/fs);
%s_1與s_2混頻
s_12=s_1.*s_2;  %混頻後的兩個頻率分量,一個是6MHz,一個是4MHz
%%%% 頻域分析 %%%%
fft_out=fft(s_12,2048);
fft_abs=abs(fft_out);
%%%頻率分辨率(每個點表示多少頻率) = 采樣頻率fs/fft計算的點數
%%%這個問題中就是50M/2048
           

fft的采樣點數一般都是與信号中的采樣點數(n)(也叫做信号的長度)是相同的;當然寫fft的時候也可以不寫計算點數,那麼就預設與信号的長度是相同的。

信号分析

将兩個信号混頻後得到的信号時域圖如下所示:

matlab實作兩個正弦信号的混頻并進行傅裡葉變換(學會從頻域去觀察信号的特性)理論知識matlab代碼信号分析

從時域圖中是無法得到有用的資訊的,我們也看不出是哪兩個頻率的信号疊加後的結果,

是以對其進行傅裡葉變換之後的頻域的圖形為:

matlab實作兩個正弦信号的混頻并進行傅裡葉變換(學會從頻域去觀察信号的特性)理論知識matlab代碼信号分析

這時進行傅裡葉變換是很容易看出來有哪些頻率的信号,具體的方法就是找到幅頻圖中對應的點,比如說上面這個圖中第一個峰值對應的點是165,則使用165乘上頻率分辨率

165*50M/2048=4M,這就是混頻信号中的5M-1M=4M,

同樣的方法可以得到另外一個頻率的信号。

是以對于一些在時域中不易觀察的信号,完全可以轉換到頻域去觀察他的特性。

繼續閱讀