當前位置:編程學習大全網 - 編程語言 - 關於用MATLAB設計對信號進行頻譜分析和濾波處理的程序

關於用MATLAB設計對信號進行頻譜分析和濾波處理的程序

完整的程序

%寫上標題

%設計低通濾波器:

[N,Wc]=buttord()

%估算得到Butterworth低通濾波器的最小階數N和3dB截止頻率Wc

[a,b]=butter(N,Wc); %設計Butterworth低通濾波器

[h,f]=freqz(); %求數字低通濾波器的頻率響應

figure(2); % 打開窗口2

subplot(221); %圖形顯示分割窗口

plot(f,abs(h)); %繪制Butterworth低通濾波器的幅頻響應圖

title(巴氏低通濾波器'');

grid; %繪制帶網格的圖像

sf=filter(a,b,s); %疊加函數S經過低通濾波器以後的新函數

subplot(222);

plot(t,sf); %繪制疊加函數S經過低通濾波器以後的時域圖形

xlabel('時間 (seconds)');

ylabel('時間按幅度');

SF=fft(sf,256); %對疊加函數S經過低通濾波器以後的新函數進行256點的基—2快速傅立葉變換

w= %新信號角頻率

subplot(223);

plot()); %繪制疊加函數S經過低通濾波器以後的頻譜圖

title('低通濾波後的頻譜圖');

%設計高通濾波器

[N,Wc]=buttord()

%估算得到Butterworth高通濾波器的最小階數N和3dB截止頻率Wc

[a,b]=butter(N,Wc,'high'); %設計Butterworth高通濾波器

[h,f]=freqz(); %求數字高通濾波器的頻率響應

figure(3);

subplot(221);

plot()); %繪制Butterworth高通濾波器的幅頻響應圖

title('巴氏高通濾波器');

grid; %繪制帶網格的圖像

sf=filter(); %疊加函數S經過高通濾波器以後的新函數

subplot(222);

plot(t,sf); ;%繪制疊加函數S經過高通濾波器以後的時域圖形

xlabel('Time(seconds)');

ylabel('Time waveform');

w; %新信號角頻率

subplot(223);

plot()); %繪制疊加函數S經過高通濾波器以後的頻譜圖

title('高通濾波後的頻譜圖');

%設計帶通濾波器

[N,Wc]=buttord([)

%估算得到Butterworth帶通濾波器的最小階數N和3dB截止頻率Wc

[a,b]=butter(N,Wc); %設計Butterworth帶通濾波器

[h,f]=freqz(); %求數字帶通濾波器的頻率響應

figure(4);

subplot(221);

plot(f,abs(h)); %繪制Butterworth帶通濾波器的幅頻響應圖

title('butter bandpass filter');

grid; %繪制帶網格的圖像

sf=filter(a,b,s); %疊加函數S經過帶通濾波器以後的新函數

subplot(222);

plot(t,sf); %繪制疊加函數S經過帶通濾波器以後的時域圖形

xlabel('Time(seconds)');

ylabel('Time waveform');

SF=fft(); %對疊加函數S經過帶通濾波器以後的新函數進行256點的基—2快速傅立葉變換

w=( %新信號角頻率

subplot(223);

plot(')); %繪制疊加函數S經過帶通濾波器以後的頻譜圖

title('帶通濾波後的頻譜圖');

  • 上一篇:誰能來幾個新鮮點兒的笑話?最好自己編
  • 下一篇:技改工作總結怎麽寫
  • copyright 2024編程學習大全網