fft函式,純屬個人學習興趣,存在的問題,希望廣大學者指正。
function y = myfft(x,n)
%輸入引數 x:輸入訊號
% n: fft的取樣點數
%輸出引數 y:fft結果,即頻域資訊
%判斷訊號的長度
if x對應於上述fft函式的ifft函式
function x = myifft(y,n)
%輸入引數 y:fft結果,即頻域資訊
% n: fft的取樣點數
%輸出引數 x:ifft後對應的時域資訊
x = zeros(1,n); %初始化ifft結果的儲存變數
for n = 1:n
for k = 1:n
x = real(1/n*y(n)*exp(1i*2*pi*(k-1)*(n-1)/n)); %進行ifft轉換
x(k) = x(k)+x; %將每次結果累加,得到最終的結果
endend
驗證:
clc
clear
% 匯入訊號
load('eeg_signal_test.mat');
signal = eeg_signal_test; %原始訊號
fs = 160; %取樣頻率
n = 256; %fft的取樣點數
% 訊號預處理
signal = signal(1:n)';
signal_nodc = signal-mean(signal);% 通過減去平均值來消除直流分量
%fft變換
eeg_fft = fft(signal_nodc,n);
eeg_fft_abs = abs(eeg_fft);
eeg_myfft = myfft(signal_nodc,n);
eeg_myfft_abs = abs(eeg_myfft);
eeg_myfft_abs = eeg_myfft_abs';
%ifft變換
eeg_ifft = ifft(eeg_fft,n);
eeg_myifft = myifft(eeg_myfft,n);
eeg_myifft = eeg_myifft';
plot(signal); hold on; plot(eeg_ifft)
驗證結果截圖
自編基於jQuery實現分頁外掛程式
function params pagesize 每頁顯示資料條數 params currentpage 當前頁碼 params data 查詢時的資料 json格式 params pageshowdivid 顯示分頁內容的div的id屬性值 params contentmark 內容資訊標記 pa...
自編函式解決pathinfo 函式處理中文問題
今天寫程式時遇到乙個小問題,pathinfo在處理中文檔名時出現的問題,如果中文在字首就出現獲取的filename為空,英文在字首後面是中文的則能獲取到。如下圖 於是自己寫了個函式代替,如下 複製 如下 function path info filepath 這樣問題就解決了 本文標題 自編函式解決...
自編兩種濾波器結果比較函式 基於MATLAB
該函式主要作用是,對同一段訊號,用兩種不同的濾波器進行濾波處理,然後比較兩者在頻域的結果。通過比較,可以選擇合適的濾波器。這個函式中是對butter和fir兩種進行了比較,讀者要是想對比其他濾波器,或者同時比較三種及以上濾波器,只需要對 稍加修改,就可以滿足需求,這裡不加贅述。還有一點,讀者要是想輸...