日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

介紹一下FIR濾波器的使用

冬至子 ? 來源:振動信號研究所 ? 作者:一只小綠豆 ? 2023-05-26 15:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 濾波的目的

信號實時處理中,濾波是十分必要的,因為信號中難免會由于各種原因混入噪聲,干擾我們對信號進行分析。

這里強調(diào)了“實時”,是因為在一些場景中,我們可能需要對信號進行離線的、交互式的分析,此時僅僅是對原始信號進行采集即可,無需軟件 進行濾波,只需要硬件在采集信號時做一下抗混疊濾波即可,這種場景不是本文所關(guān)心的。

在更多的場景下,比如我們的運動手表、手環(huán)在處理ppg信號計算心率時,是會進行實時計算的,那么就會進行實時濾波處理:因為大多數(shù)人的心率頻率在0.7~3.6Hz范圍內(nèi),至少在這之外的頻率會在計算心率之前濾除掉。

2. 信號模擬

比如我們要處理一個信號,但是我們僅僅關(guān)心信號100Hz以下的頻段,這時我們就需要一個低通濾波器了,此時我們先模擬出一個包含5Hz和3000Hz頻率成分的信號,假設(shè)信號采樣頻率為8192,采樣時間為1秒,共計8192個點。信號生成和展示的代碼如下:

import numpy as np
from numpy import cos
import matplotlib.pyplot as plt

pi = np.pi
t = np.linspace(0, 1, 8192)

signal = 3 * cos(2 * pi * 5 * t + pi/3) + 7 * cos(2 * np.pi * 3000 * t + 3/8*pi)

plt.figure()
plt.plot(t, signal)
plt.show()

我們生成了這樣的一個信號:

圖片

生成的信號

3. FIR濾波器系數(shù)生成

這一步可以使用matlab進行輔助,本文僅僅是想要一個截止頻率為10Hz的FIR低通濾波器,步驟如下:

  1. 打開matlab;
  2. 點擊"APP";
  3. 找到濾波器設(shè)計工具,并點擊;
  4. 選擇響應(yīng)類型、設(shè)計方法、階數(shù)等。

圖片

輔助設(shè)計界面

  1. 點擊“文件” 、“導(dǎo)出”、“系數(shù)文件”,導(dǎo)出系數(shù)文件,我把導(dǎo)出的系數(shù)(FIR低通濾波系數(shù)僅有分子)畫出來后如下圖:

圖片

系數(shù)波形圖

3. FIR濾波原理

采用FIR進行濾波,從操作上看是進行卷積操作,對上述濾波器的系數(shù)進行FFT變換即可窺見一斑:

import numpy as np
import matplotlib.pyplot as plt
# b = [......] 101個系數(shù)組成的列表,此處省略
delta_f = 1
plt.plot([delta_f * i for i in range(4097)], abs(np.fft.rfft(b, 8192)))  # 單邊FFT
plt.show()

圖片

系數(shù)的傅里葉變換

這里得到的就是濾波器的幅頻響應(yīng)曲線,和濾波器輔助設(shè)計工具中所展示的幅頻響應(yīng)曲線是一致的。

4. 濾波計算代碼與結(jié)果

把第二步生成的信號中高于100Hz的頻率成分(即3000Hz的成分)濾除,得到的結(jié)果如下圖所示,在結(jié)果的開頭和結(jié)尾產(chǎn)生了失真,這是因為在卷積運算過程中,在剛開始和結(jié)尾計算時有效信息不足進行了補零操作導(dǎo)致的。

圖片

濾波的結(jié)果

這一步的運算代碼如下:

import numpy as np
from numpy import cos
import matplotlib.pyplot as plt
from filter_coeff import b
pi = np.pi

t = np.linspace(0, 1, 8192)
signal = 3 * cos(2 * pi * 5 * t + pi/3) + 7 * cos(2 * np.pi * 3000 * t + 3/8*pi)

fir_len = len(b)

res = []
for i in range(len(signal)):
    print(i)
    temp = 0
    if i < fir_len:
        data = (fir_len-i) * [0] + signal[0:i].tolist()
    elif i > len(signal) - fir_len:
        data = signal[i:].tolist() + (fir_len - len(signal) + i) * [0]
    else:
        data = signal[i:i+fir_len]
    for j in range(fir_len):
        temp += b[j] * data[-j-1]
    res.append(temp)


plt.figure()
plt.plot(t, res)
plt.show()
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 濾波器
    +關(guān)注

    關(guān)注

    162

    文章

    8484

    瀏覽量

    186430
  • 低通濾波器
    +關(guān)注

    關(guān)注

    15

    文章

    595

    瀏覽量

    49139
  • FIR
    FIR
    +關(guān)注

    關(guān)注

    4

    文章

    152

    瀏覽量

    35691
  • FFT變換
    +關(guān)注

    關(guān)注

    2

    文章

    10

    瀏覽量

    9082
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    DSP in FPGA:FIR濾波器

    FIR 濾波器廣泛應(yīng)用于數(shù)字信號處理中,主要功能就是將不感興趣的信號濾除,留下有用信號。##全并行FIR濾波器結(jié)構(gòu)
    發(fā)表于 06-27 10:02 ?1.1w次閱讀

    如何設(shè)計低通FIR濾波器

    此示例顯示如何設(shè)計低通FIR濾波器。這里介紹的許多概念可以擴展到其他響應(yīng),如高通,帶通等。FIR濾波器被廣泛使用,因為它們具有強大的設(shè)計算法
    發(fā)表于 08-23 10:00

    并行FIR濾波器Verilog設(shè)計

    本文將簡單介紹FIR濾波器的原理,詳細(xì)介紹使用Verilog HDL設(shè)計并行FIR濾波器的流程和
    發(fā)表于 09-25 17:44

    什么是fir數(shù)字濾波器 什么叫FIR濾波器

    什么是fir數(shù)字濾波器 Part 1: Basics1.1 什么是FIR濾波器?FIR 濾波器
    發(fā)表于 01-16 09:42 ?1.8w次閱讀

    高效FIR濾波器的設(shè)計與仿真-基于FPGA

    高效FIR濾波器的設(shè)計與仿真-基于FPGA 摘要:該文在介紹有限沖激響應(yīng)(FIR)數(shù)字濾波器理論及常見實現(xiàn)方法的基礎(chǔ)上,提出了
    發(fā)表于 01-16 09:56 ?2184次閱讀
    高效<b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>的設(shè)計與仿真-基于FPGA

    用MATLAB設(shè)計FIR濾波器的方法

    用MATLAB設(shè)計FIR濾波器的方法 摘? 要 介紹了利用MATLAB信號處理工具箱進行FIR濾波器設(shè)計的三種方法:程序設(shè)計法、FDATo
    發(fā)表于 01-16 18:12 ?1.6w次閱讀
    用MATLAB設(shè)計<b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>的方法

    高階FIR正交鏡像濾波器的設(shè)計

    本文計論了高階FIR型正交鏡像濾波器的設(shè)計問題。根據(jù)FIR 正交鏡像濾波器 設(shè)計的基本原理,將高階正交鏡像濾波器的設(shè)計問題轉(zhuǎn)換為單變量的優(yōu)化
    發(fā)表于 08-29 16:16 ?29次下載
    高階<b class='flag-5'>FIR</b>正交鏡像<b class='flag-5'>濾波器</b>的設(shè)計

    fir_濾波器sourc

    fir濾波器的有關(guān)資料 fir_濾波器sourc.rar
    發(fā)表于 12-14 14:12 ?25次下載

    基于MATLAB的FIR濾波器設(shè)計與濾波

    基于MATLAB的FIR濾波器設(shè)計與濾波。
    發(fā)表于 12-14 22:08 ?68次下載

    詳解FIR濾波器和IIR濾波器的區(qū)別

    數(shù)字濾波器廣泛應(yīng)用于硬件電路設(shè)計,般分為FIR濾波器和IIR濾波器。那么FIR
    發(fā)表于 05-03 11:36 ?20次下載

    FIR濾波器的FPGA設(shè)計與實現(xiàn)

    本文針對快速、準(zhǔn)確選擇參數(shù)符合項目要求的濾波器設(shè)計方法的目的,通過系統(tǒng)的介紹有限脈沖響應(yīng)( Finite Impulse Response,FIR濾波器的原理、結(jié)構(gòu)形式以及幾種
    發(fā)表于 12-21 14:53 ?14次下載
    <b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>的FPGA設(shè)計與實現(xiàn)

    FPGA的FIR抽取濾波器設(shè)計詳細(xì)教程

    介紹FIR抽取濾波器的工作原理,重點闡述了用XC2V1000實現(xiàn)FIR抽取濾波器的方法,并給出了仿真波形和設(shè)計特點。
    發(fā)表于 04-19 11:34 ?2815次閱讀
    FPGA的<b class='flag-5'>FIR</b>抽取<b class='flag-5'>濾波器</b>設(shè)計詳細(xì)教程

    FIR濾波器與IIR濾波器到底有什么區(qū)別

    你知道FIR濾波器與IIR濾波器的不同點嗎?它有有什么特點?濾波器是工程師工作中必不可少的器件,濾波器分為很多種,本文詳細(xì)
    發(fā)表于 08-09 14:15 ?3.4w次閱讀
    <b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>與IIR<b class='flag-5'>濾波器</b>到底有什么區(qū)別

    FIR濾波器和IIR濾波器的區(qū)別與聯(lián)系

    1.根據(jù)沖激響應(yīng)的不同,將數(shù)字濾波器分為有限沖激響應(yīng)(FIR濾波器和無限沖激響應(yīng)(IIR)濾波器。對于FIR
    的頭像 發(fā)表于 12-30 23:45 ?5587次閱讀

    IIR濾波器FIR濾波器的區(qū)別

    數(shù)字濾波器是數(shù)字信號處理中最常用的種技術(shù),可以對數(shù)字信號進行濾波、降噪、增強等處理,其中最常見的兩種數(shù)字濾波器是IIR濾波器
    的頭像 發(fā)表于 06-03 10:21 ?2.1w次閱讀
    阳春市| 宜君县| 晴隆县| 江门市| 井陉县| 银川市| 梨树县| 兰西县| 当雄县| 榆中县| 湘西| 葫芦岛市| 陕西省| 贺州市| 庐江县| 宽甸| 栖霞市| 武义县| 玉门市| 昌图县| 丹寨县| 平陆县| 图木舒克市| 军事| 吉木萨尔县| 衡南县| 鸡西市| 寻乌县| 临洮县| 颍上县| 革吉县| 北流市| 府谷县| 安溪县| 梁平县| 德钦县| 绩溪县| 紫金县| 武威市| 新昌县| 东辽县|