1. 程式人生 > >低通,帶通,高通濾波器的設計

低通,帶通,高通濾波器的設計

這是之前用到的幾個簡單的濾波器的程式,濾波器的設計比較簡單。可以直接使用matlab裡的FDA,匯出濾波器係數即可。

再就是參考數字訊號處理課本里面三種濾波器設計的方法,由過渡帶和所選的窗函式推匯出濾波器階數,進一步根據firl和filter函式編寫即可。

下面給出三種濾波器的簡單程式碼:

低通:用的hanning窗

function [y]=fir_lpf(x,Fs,fs,fp)
%該函式採用hanning窗實現低通濾波
%x為輸入訊號,fs,為取樣頻率
%fs,fp分別為阻帶截至頻率和通帶截至頻率
%20150615 by boat


%求對應角頻率
ws=fs*2*pi/Fs;
wp=fp*2*pi/Fs;


%求濾波器的最小階數
B=ws-wp;   %過渡頻寬取二者中較小的
N=ceil(6.2*pi/B);


%計算濾波器係數
wc=(ws+wp)/2;
hn=fir1(N-1,wc,hanning(N));
y=filter(hn,1,x);


freqz(hn)

帶通:這裡用的布拉克曼窗

function [y]=fir_bpf(x,fs,fs2,fp2,fp1,fs1)
%該函式採用blackman窗實現帶通濾波
%x為輸入訊號,fs,為取樣頻率
%fs2,fp2分別為阻帶上截至頻率和通帶上截至頻率
%fp1,fs1分別為通帶下截止頻率和阻帶下截至頻率
%ps:輸入時以上四個濾波引數按從大到小輸入即可
%20150615 by boat


%求對應角頻率
ws2=fs2*2*pi/fs;
wp2=fp2*2*pi/fs;
wp1=fp1*2*pi/fs;
ws1=fs1*2*pi/fs;


%求濾波器的階數
B=min(ws2-wp2,wp1-ws1);   %求過渡頻寬
N=ceil(12*pi/B);


%計算濾波器係數
wc2=(ws2+wp2)/2;
wc1=(ws1+wp1)/2;
wp=[wc1,wc2];
hn=fir1(N-1,wp,blackman(N));
y=filter(hn,1,x);

高通:這裡用的凱澤窗

function [y]=fir_hpf(x,Fs,As,fp,fs)
%該函式採用kaiser窗設計高通濾波器
%輸入:x 輸入訊號
%      Fs 取樣頻率
%      As 阻帶最小衰減 
%      fp通帶截止頻率 fs阻帶截止頻率(單位Hz)
%      20150615 by boat


%設定各種引數
b=fp-fs;                               % 求取過渡帶
M0=round((As-7.95)/(14.36*b/Fs))+2;    % 計算窗長
M=M0+mod(M0+1,2);                      % 保證窗長為奇數
wp=2*fp/Fs*pi; ws=2*fs/Fs*pi;          
wc=(wp+ws)/2;                          % 求截止頻率


%求kaiser窗的係數beta的值
if As>50
    beta=0.1102*(As-8.7);
  elseif As>=21&&As<=50
    beta=0.5842*(As-21)^0.4+0.07886*(As-21);
  else
    beta=0;
end




%設定濾波器引數
N=M-1;                                 %設定濾波器階數
hd=fir1(N,wc,'high',kaiser(M,beta));


%濾波
x=x-mean(x);                            % 消除直流分量
                           
y=filter(hd,1,x); 

相關推薦

Cloud一分鐘 |樂視系近億元資產被查封;快手推出新社群產品取名“蹦迪”;:已終止收購恩智浦的交易...

戳藍字“CSDN雲端計算”關注我們哦! Hello,everyone: 12月4日早,星期二 CSDN一分鐘新聞時間: 樂視系近億元資產被查封  裁定查封、扣押或凍結三家樂視系公司名下價值9002.2萬元財產。 

Python爬蟲看看我最近部落格都寫了啥你製作逼格的資料聚合雲圖

今天一時興起,想用python爬爬自己的部落格,通過資料聚合,製作高逼格的雲圖(對詞彙出現頻率視覺上的展示),看看最近我到底寫了啥文章。 1.1 爬取文章的標題的聚合 1.2 爬取文章的摘要的聚合 1.3 爬取文章的標題+摘要的聚合 我

bash編程練習選項添加或刪除用戶

tdi null ini stdin done base 一個 del 獲取 腳本練習題:   可以接受選項及參數,而後能獲取每一個選項,及選項的參數,並能根據選項及參數做出特定的操作; 比如:adminusers.sh -a|--add user .. -d|--del

分享一個郵件傳送的java例項(純文字附件多人抄送多人密送)

貼程式碼: 1 import javax.activation.DataHandler; 2 import javax.activation.FileDataSource; 3 import javax.mail.*; 4 import javax.mail.internet.*;

python 發郵件附件中文

    # !/usr/bin/python # -*- coding: UTF-8 -*- from email import encoders from email.mime.base import MIMEBase from email.mime.multipa

滑塊特效外掛rangeSlider刻度rangeSlider實現進度範圍選擇

先看效果,樣式還是可以的 實現也很簡單 @section Styles{   <link href="~/ion.rangeSlider-2.2.0/css/ion.rangeSlider.css" rel="stylesheet" /> 根據自己的愛好

Android 開發:繪製多條線快取觸控的圖表(基金圖表的實現)

對之前的幾篇文章裡的model進行補充 後期會把這個功能類,新增到這個框架裡 連結 Android開發框架,有興趣的可以下載下來看,這個框架會經常更新: public class BaseFundChartView extends View im

MUI-button(按鈕)圖示圖示可居左/居右

一般圖示包括首頁、搜尋、新增、刪除等,分別對應的類如下表所示: 圖示類,預設圖示居左 mui-icon mui-icon-home 首頁 mui-icon mui-icon-search 搜尋

RecyclerView多功能分割線橫豎分割線padding允許取消指定分割線

分割線可以畫到RecyllerView的item的padding裡,類似於android: clipPadding = “true” 效果。 繼承自ItemDecoration類,程式碼如下: import android.content.Contex

httpClient4.1傳送https報文請求證書簽名

這個方法時我測試了目前網上的commons-httpclient所提供的方法,根據HTTP請求改造的,那個測試沒有通過,這個是完全根據官方最新版的httpclinet4.1的英文文件以及example來做的,比較靠譜,當前前提是你的證書已經拆分好,這個可以找到相關的很多資

簡易音樂播放器seekBar可滑動調節播放進度。

閒言少敘,進入正題,這個也不能稱之為播放器,只是播放 /res/raw 下的音樂檔案。 因為是初學者,所以遇到的問題比較多,很多都是不應該出現的問題,但是好在都解決了 我在程式碼中的註釋我覺得夠詳細的了,希望跟我一樣的初學者能少走一些彎路 遇到的問題:

好用的日曆外掛WdatePicker示例一看就會

先看一下示例圖片(見後面),只有一部分,沒截完,請見諒 簡單的程式碼呼叫,拿來就能用 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4

unity3D 第一人稱WASD+SPACE重力碰撞檢測FPSInput.csP40

using System.Collections; using System.Collections.Generic; using UnityEngine; [RequireComponent(typeof(CharacterController))] [AddCompone

濾波器設計

這是之前用到的幾個簡單的濾波器的程式,濾波器的設計比較簡單。可以直接使用matlab裡的FDA,匯出濾波器係數即可。 再就是參考數字訊號處理課本里面三種濾波器設計的方法,由過渡帶和所選的窗函式推匯出濾波器階數,進一步根據firl和filter函式編寫即可。 下面給出三

基於MATLAB的filter的使用濾波器設計

1、目的 學習MATLAB的filter函式的使用,通過設計低通、帶通和高通濾波器對其進行模擬 2、用到的主要函式和工具 MATLAB、FDATOOL、filter、fft 3、設計 訊號的產生 %% Parameter Interface Frequence0

2.22.3 通訊號取樣

本文引自《數字訊號處理 Richard.G.Lyons》 2.2低通訊號取樣 訊號x(t)是頻寬受限的,頻寬受限只是說在±BHz頻帶外的訊號能量低於系統的靈敏度。時域訊號x(t)稱之為低通訊號,因為它的頻譜能量集中在低頻。倘若x(t)是一個電壓訊號,它通過同軸電纜接到模擬頻譜分析儀的

影象濾波----濾波中值濾波濾波方向濾波(Sobel)拉普拉斯變換

①觀察灰度分佈來描述一幅影象成為空間域,觀察影象變化的頻率被成為頻域。 ②頻域分析:低頻對應區域的影象強度變化緩慢,高頻對應的變化快。低通濾波器去除了影象的高頻部分,高通濾波器去除了影象的低頻部分。 (1)低通濾波 ①栗子: #include &

[數字影象處理]頻域濾波(2)--濾波器濾波器與陷波濾波器

close all; clear all; clc; %% ---------------------Add Noise------------------------- f = imread('left.tif'); f = mat2gray(f,[0 255]); [M,N] = size(f); P

python實現直方圖均衡化理想濾波與濾波

寫在前面 HIT大三上學期視聽覺訊號處理課程中視覺部分的實驗二,經過和學長們實驗的對比發現每一級實驗要求都不一樣,因此這裡標明瞭是2019年秋季學期的視覺實驗二。 由於時間緊張,程式碼沒有進行任何優化,實驗演算法僅供參考。 實驗要求 實現影象直方圖均衡化,要求顯示均衡化前、後直方圖以及均衡化後圖像。 對單通

OpenCV計算機視覺學習(10)——影象變換(傅立葉變換濾波濾波)

如果需要處理的原圖及程式碼,請移步小編的GitHub地址   傳送門:請點選我   如果點選有誤:https://github.com/LeBron-Jian/ComputerVisionPractice   在數字影象處理中,有兩個經典的變換被廣泛應用——傅立葉變換和霍夫變化。其中,傅立葉變換主要是將時間域