本文討論模擬信號的采樣與重建。首先,我們關心的是模擬信號經過采樣后是否會失掉一些信息;其次,由離散時間信號恢復成模擬信號應該具備哪些條件?
對於等間隔采樣,采樣周期T是常數,T的倒數稱為采樣頻率,記為fs,而其對應的角頻率Ωs=2π/T=2πfs。
下面討論《MATLAB R2016a完全自學一本通》第446頁示例,正弦序列x(t)=Asin(2πft+φ)的采樣,其中幅度A=4、頻率f=100、初始相位φ=1、點數為64。即采樣頻率為64hz。
相應的matlab函數如下:
clear all;clc;close all; N=64; A=4; f=100; fai=1; xn=0:N-1; x=A*sin(2*pi*f*(xn/N)+fai); figure; subplot(121); stem(xn,x); axis([-1,N,(-A-0.25),(A+0.25)]); subplot(122); %第二張圖畫采樣足夠密集的近似連續圖 xx=0:0.001:N-1; y=A*sin(2*pi*f*(xx/N)+fai); plot(xx,y); axis([-1,N,(-A-0.25),(A+0.25)]);
這里運行結果為:
圖片包含了100個周期的正弦函數。由奈奎斯特采樣定理,在進行模擬/數字信號的轉換過程中,當采樣頻率fs.max大於信號中最高頻率fmax的2倍時(fs.max>2fmax),采樣之后的數字信號完整地保留了原始信號中的信息,一般實際應用中保證采樣頻率為信號最高頻率的2.56~4倍;采樣定理又稱奈奎斯特定理。 [1] 如果對信號的其它約束是已知的,則當不滿足采樣率標准時,完美重建仍然是可能的。 在某些情況下(當不滿足采樣率標准時),利用附加的約束允許近似重建。 這些重建的保真度可以使用Bochner定理來驗證和量化。 [2]
這里采樣頻率64不大於模擬信號頻率100的二倍200,故無法完美重建原模擬信號。
下面為了直觀,考慮f=3,即圖片中顯示3個周期的結果。當采樣點數N=5時,無法完美重建;采樣點數N=7時,可以完美重建。
代碼稍作修改如下:
clear all;clc;close all; N=5; A=4; f=3; fai=1; xn=0:N-1; x=A*sin(2*pi*f*(xn/N)+fai); figure; stem(xn,x); axis([-1,N,(-A-0.25),(A+0.25)]); title('采樣序列N=5'); hold on; xx=0:0.001:N-1; y=A*sin(2*pi*f*(xx/N)+fai); plot(xx,y); axis([-1,N,(-A-0.25),(A+0.25)]);
注意,當采樣點不是足夠密集時,對采樣點簡單的直線相連(擬合)將得到錯誤的,類似於調幅波的圖像。因為載波恢復的過程是多個抽樣函數的疊加而不是用盡量平滑的線將采樣點相連。
后面發文討論采樣信號恢復的matlab仿真。