MATLAB中的頻域上取樣


上取樣的介紹

在數字訊號處理中,允許提高訊號取樣率的技術被稱為上取樣。對於在頻域表示的訊號,上取樣是透過在頻域中新增零來實現的。

在數字訊號處理中,頻域上取樣通常用於對數字訊號進行插值或擴充套件頻寬。

在MATLAB中,上取樣過程分為以下三個階段

步驟1 - 執行離散傅立葉變換 (DFT)

在這個階段/步驟中,給定的訊號透過對其執行離散傅立葉變換從時域轉換為頻域。在這個過程中,訊號被分解成其基本頻率成分。這個分解後的訊號表示為復指數函式的和。

DFT運算將一系列離散樣本或數字訊號轉換為一系列複數,稱為頻譜。頻譜指定訊號頻率成分的幅度和相位。

步驟2 - 執行零填充

在這個階段,在頻域表示的訊號中新增一些額外的零。這個過程稱為零填充。零填充透過引入新的頻率項來增加頻譜的長度。因此,它增加了訊號的取樣率和解析度。

步驟3 - 執行逆離散傅立葉變換 (IDFT)

此步驟涉及第一步的逆運算,即離散傅立葉變換。執行逆離散傅立葉變換將頻域訊號轉換為時域訊號,以獲得時域中的上取樣訊號。此過程根據其頻率成分重建原始訊號。

這就是我們如何使用MATLAB在頻域中執行數字訊號的上取樣以產生具有更高取樣率和更長持續時間的上取樣訊號。

頻域上取樣廣泛應用於數字訊號處理、訊號插值、訊號重取樣等。

現在,讓我們討論一個用於在頻域執行上取樣的MATLAB程式。

示例

% MATLAB program demonstrate the up-sampling in frequency domain
% Define the original sampling rate
f = 80; 
% Create a time vector
t = 0:1/f:1;
% Define the original signal
a = cos(2*pi*50*t);
% Perform the DFT of the original signal
A = fft(a);
% Specify the up-sampling factor
uf = 2; 		% Adjust as per needs
% Perform zero-padding of the signal in the frequency-domain
upsampled_A = [A zeros(1, (uf-1)*length(A))];
% Perform the IDFT on the zero-padded signal to get the up-sampled signal in time domain
upsampled_a = ifft(upsampled_A);
% Perform the up-sampling of time vector 
upsampled_t = 0:1/(f*uf):(1+(1/f)-(1/(f*uf)));
% Plot the original and up-sampled signals
figure;
subplot(2,1,1);
plot(t, a);
title('Original Signal');
xlabel('Time');
ylabel('Amplitude');
subplot(2,1,2); 
plot(upsampled_t, upsampled_a);
title('Upsampled Signal');
xlabel('Time');
ylabel('Amplitude');

輸出

解釋

在這個MATLAB程式碼中,我們演示了在頻域中對訊號進行上取樣的過程。在這個程式中,我們首先定義訊號“f”的原始取樣率。接下來,我們使用頻率“f”建立一個時間向量“t”。該向量從0開始,以“1/f”的速率遞增到1。

之後,我們建立原始訊號“a”,它是一個頻率為“50 Hz”的餘弦訊號。然後,我們使用“fft”函式對訊號“a”執行離散傅立葉變換,以獲得複數頻譜“A”。接下來,我們指定上取樣因子“uf”。在這種情況下,“uf = 2”將使訊號上取樣2倍。

然後,我們對DFT訊號“A”執行零填充,透過新增額外的零來增加其長度。之後,我們使用“ifft”函式對上取樣訊號執行逆離散傅立葉變換,將其轉換回時域,並將結果儲存在“upsampled_a”變數中。

接下來,我們對時間向量“t”執行上取樣,並將結果儲存在“upsampled_t”變數中。這是透過將原始取樣率增加上取樣因子“uf”來完成的。

最後,我們在一個帶有標題“原始訊號”和“上取樣訊號”的圖中,在兩個子圖中繪製原始訊號和上取樣訊號。

因此,這就是我們如何使用MATLAB在頻域中對給定訊號進行上取樣的方法。

更新於:2023年8月8日

瀏覽量:358

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.