資源簡介
大學里做過腦波控制,參考的一個MATLAB代碼,覺得挺好的就分享給大家。

代碼片段和文件信息
%fft變換
close?all;
clc;
clear?all;
x1=dlmread(‘5.txt‘);
x=x1;%帶入原始信號
fs=200;%設置采樣率
N=length(x);%計算變換點數,直接影響曲線的平滑度
y=fft(xN);%進行fft變換
mag3=(abs(y))*2/N;????????????????
???????????????????????????
f=(0:N-1)*fs/N;
figure;
plot(fmag3);
?xlim([10?20])%將x軸范圍限定在10-20Hz
xlabel(‘頻率/Hz‘);ylabel(‘幅值/db‘);title(‘fft變換‘);
for?i=1:N
????if(i-1)*fs/N<10
???????y(i)=0.0001*y(i);
????end
?????if(i-1)*fs/N>190
???????y(i)=0.0001*y(i);
?????end
????
??????if((i-1)*fs/N<180)&&((i-1)*fs/N>20)
???????y(i)=0.0001*y(i);
?????end
?????
?????
end
%定位信號頻率值
[ab]=max(abs(y));
%逐次輪選數據進行測試,選擇包含信號頻率的
data=zeros(1256);
for?i=1000:N-1000;
????x0=x(i:i-1+256);
????y0=fft(x0N);
????
????
????for?i=1:N
?????if(i-1)*fs/N<10
??????????y0(i)=0.0001*y(i);
?????end
?????
?????if(i-1)*fs/N>190
???????y0(i)=0.0001*y(i);
?????end
????
?????if((i-1)*fs/N<180)&&((i-1)*fs/N>20)
???????y0(i)=0.0001*y(i);
?????end
???
????end
?????
????[a0b0]=max(abs(y0));
????
????
????if?b0==b
????????if?y0(b0-1)<0.05*y0(b0)
????????????if?y0(b0+1)<0.05*y0(b0)
????????????data=x0;
????????????break;
????????????end
????????end
????end
????
end
????
%??選擇的數據存為txt
fid=fopen(‘data_256.txt‘‘wt‘);
fprintf(fid‘%g\t‘data);
fclose(fid);
%查看選擇的數據的FFT圖
yn=data;
?N=256;
y=fft(ynN);
mag3=(abs(y))*2/N;%求幅值
????????????????????????????
f=(0:N-1)*fs/N;%進行對應的頻率轉換
figure;
plot(fmag3);
?xlim([10?20])%將x軸范圍限定在10-20Hz
xlabel(‘頻率/Hz‘);ylabel(‘幅值/db‘);title(‘fft變換‘);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????22694??2013-09-25?16:22??原始信號\1.txt
?????文件??????21440??2014-10-21?21:49??原始信號\10.txt
?????文件????????807??2016-01-15?18:59??原始信號\13hz.txt
?????文件??????14755??2014-10-21?21:44??原始信號\2.txt
?????文件??????21869??2014-10-21?21:45??原始信號\3.txt
?????文件??????16548??2014-10-27?11:41??原始信號\4.txt
?????文件??????18867??2014-10-21?21:46??原始信號\5.txt
?????文件???????2685??2016-01-15?19:05??原始信號\5_256.txt
?????文件??????12664??2014-10-27?20:41??原始信號\6.txt
?????文件??????17005??2014-10-21?21:47??原始信號\7.txt
?????文件??????17404??2014-10-21?21:48??原始信號\8.txt
?????文件???????2606??2016-01-15?18:37??原始信號\8_256.txt
?????文件??????16331??2014-10-27?11:49??原始信號\9.txt
?????文件????????841??2016-01-15?22:01??原始信號\data_256.txt
?????文件???????1650??2016-01-15?21:27??原始信號\data_pro.asv
?????文件???????1651??2016-01-15?22:01??原始信號\data_pro.m
?????文件???????1148??2016-01-15?18:46??原始信號\g_fft.asv
????I.A....??????1213??2016-01-15?19:06??原始信號\g_fft.m
?????目錄??????????0??2016-01-15?21:36??原始信號
-----------?---------??----------?-----??----
???????????????192178????????????????????19
- 上一篇:基于matlab實現msk的調制解調
- 下一篇:matlab實現回歸分析代碼
評論
共有 條評論