資源簡(jiǎn)介
基于matlab的腦電信號(hào)處理
程序設(shè)計(jì),包括GUI界面設(shè)計(jì)

代碼片段和文件信息
S1=‘E:\醫(yī)學(xué)信號(hào)處理課程設(shè)計(jì)\normal1.txt‘;
Y1=load(S1);
Y=Y1‘;
x=Y(1:);y=Y(2:);
n=length(x);%求取樣點(diǎn)數(shù)
T=0.004;fs=1/T;
fk=([0:n-1]/n/T);%橫坐標(biāo)變換
Y1=fft(y);Y1r=abs(Y1);A1r=angle(Y1);%進(jìn)行fft變換并求出頻譜圖
figure?(1)%顯示時(shí)頻域
subplot?311;plot(xy);title(‘腦電信號(hào)時(shí)域圖‘);xlabel(‘時(shí)間/s‘);ylabel(‘幅值/uV‘);
subplot?312;plot(fk20*log10(Y1r));????title(‘腦電信號(hào)頻域圖‘);xlabel(‘頻率/Hz‘);ylabel(‘20*log10(H)/dB‘);axis([0?125?0?100]);?
subplot?313;?plot(fkA1r);?axis([0?125?-4?4]);title(‘腦電信號(hào)相位圖‘);xlabel(‘頻率/Hz‘);
%矩形窗
wp=0.232*pi;ws=0.248*pi;
deltaw=ws-wp;??????????????????
N=ceil(1.8*pi/deltaw)%定義濾波器的階數(shù)?
wc=30/(fs/2);
H1=fir1(Nwcstepseq(N+1));%使用fir1函數(shù)設(shè)計(jì)濾波器
[h1w]=freqz(H11512250);
?sf=filter(H11y);
?Fsf=fft(sf);
figure?(2)%顯示FIR濾波器
subplot?211;plot(w20*log10(abs(h1)));title(‘低通濾波器模型‘);xlabel(‘頻率/Hz‘);?ylabel(‘20*log10(H)/dB‘);axis([0?125?-100?10]);%參數(shù)分別是頻率與幅值
subplot?212;plot(wangle(h1));
figure(3)%低通濾波后的信號(hào)圖像
subplot(211);plot(xsf);title(‘低通濾波后的信號(hào)時(shí)域圖‘);xlabel(‘時(shí)間/s‘);ylabel(‘幅值/uV‘);
subplot(212);plot(fk(abs(Fsf)));axis([0?125?0?70000]);?title(‘低通濾波后的信號(hào)頻域圖‘);xlabel(‘頻率/Hz‘);?%ylabel(‘20*log10(H)/dB‘);
%巴特沃斯
wp0=[4?8];ws0=[2?10];Rp=1;??Rs=18;???%設(shè)置通帶波紋系數(shù)
wp1=wp0*pi*2/fs;???????????????%設(shè)置通帶頻率
ws1=ws0*pi*2/fs;????????????????%設(shè)置阻帶頻率
wp=2*fs*tan(wp1./2);
ws=2*fs*tan(ws1./2);
[NWn]=buttord(wpwsRpRs‘s‘)???????%求巴特沃斯濾波器階數(shù),輸出參數(shù)N代表滿(mǎn)足設(shè)計(jì)要求的濾波器的最小階數(shù),Wn是等效低通濾波器的截止頻率
[zpk]=buttap(N);
[bpap]=zp2tf(zpk);
Bp=wp(2)-wp(1);
Wp0=sqrt(wp(1)*wp(2));
[bsas]=lp2bp(bpapWp0Bp);
[bzaz]=bilinear(bsasfs);
[Hbwb]=freqz(bzaz125fs);%125個(gè)數(shù)據(jù)點(diǎn)
h=(filter(bzazy));%原信號(hào)時(shí)域?yàn)V波
H=fft(h);
figure?(4)%顯示IIR濾波器
subplot?211;plot(wb20*log10(abs(Hb)));title(‘帶通濾波器模型‘);xlabel(‘頻率/Hz‘);?ylabel(‘20*log10(H)/dB‘);
subplot?212;?plot(wbangle(Hb));?title(‘腦電信號(hào)相位圖‘);xlabel(‘頻率/Hz‘);%axis([0?125?-4?4]);
figure?(5)%帶通濾波前后的信號(hào)頻域
subplot?211;plot(xy);title(‘帶通濾波前時(shí)域‘);xlabel(‘時(shí)間/s‘);ylabel(‘幅值/uV‘);axis([0?60?-400?400]);
subplot?212;plot(xh);title(‘帶通濾波后時(shí)域‘);xlabel(‘時(shí)間/s‘);ylabel(‘幅值/uV‘);axis([0?60?-400?400]);
figure?(6)%帶通濾波前后的信號(hào)時(shí)域
subplot?211;plot(fkY1r);title(‘帶通濾波前頻域‘);xlabel(‘頻率/Hz‘);axis([0?125?0?70000]);
subplot?212;plot(fkabs(H));title(‘帶通濾波后頻域‘);xlabel(‘頻率/Hz‘);axis([0?125?0?40000]);
%陷波器
[mn]=findpeaks(abs(Fsf)‘minpeakdistance‘270);
for?i=2:4;
????a1=n(i)/61.44;
????rp=1;rs=60;Fs=250;
????wp=[a1-0.4?a1+0.4]*2/Fs;ws=[a1?a1+0.2]*2/Fs;
????[NWn]=ellipord(wpwsrprs);
????[ba]=ellip(NrprsWn‘stop‘);
????[Hf]=freqz(ba512Fs);
????Y=filter(basf);
????h2=fft(Y);
????sf=Y;
end
????figure?(7)
????subplot?211;plot(xY);title(‘陷波濾波后時(shí)域‘);xlabel(‘時(shí)間/s‘);ylabel(‘幅值/uV‘);axis([0?60?-400?400]);
????subplot?212;plot(fk(abs(h2)));title(‘陷波濾波后頻域‘);xlabel(‘頻率/Hz‘);axis([0?125?0?70000]);
%頻譜圖
????Hs=spectrum.yulear;??%周期圖法
????figure?(8);
????[Pxxf]=?pwelch(Y1r33[]15360Fs);%33為信號(hào)截取長(zhǎng)度
????plot(fPxx);axis([012504000000]);xlabel(‘頻率/Hz‘);title(‘頻譜圖‘);
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件???????3271??2019-01-16?09:28??all_figure.m
?????文件????????370??2019-01-01?19:54??box.m
?????文件???????1655??2019-01-16?09:06??butterfilter.m
?????文件????????460??2019-01-14?10:44??eeg_fft.m
?????文件??????17479??2019-01-16?08:44??eeg_filter.m
?????文件????????914??2019-01-07?11:10??eeg_fir.m
?????文件????????198??2019-01-12?14:14??eeg_load.m
?????文件????????747??2019-01-14?10:33??eeg_power.m
?????文件????????133??2019-01-01?19:47??ideallp.m
?????文件?????????77??2019-01-12?13:21??stepseq.m
-----------?---------??----------?-----??----
????????????????25304????????????????????10
- 上一篇:謝菲爾德matlab遺傳工具箱
- 下一篇:近似熵算法
評(píng)論
共有 條評(píng)論