电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python 基于FIR實現Hilbert濾波器求信號包絡詳解

瀏覽:5日期:2022-08-06 09:15:28

在通信領域,可以通過希爾伯特變換求解解析信號,進而求解窄帶信號的包絡。

實現希爾伯特變換有兩種方法,一種是對信號做FFT,單后只保留單邊頻譜,在做IFFT,我們稱之為頻域方法;另一種是基于FIR根據傳遞函數設計一個希爾伯特濾波器,我們稱之為時域方法。

# -*- coding:utf8 -*-# @TIME : 2019/4/11 18:30# @Author : SuHao# @File : hilberfilter.pyimport scipy.signal as signalimport numpy as npimport librosa as libimport matplotlib.pyplot as pltimport time# from preprocess_filter import *# 讀取音頻文件ex = ’....數據集2pre2012bfluteBassFlute.ff.C5B5.aiff’time_series, fs = lib.load(ex, sr=None, mono=True, res_type=’kaiser_best’)# 生成一個chirp信號# duration = 2.0# fs = 400.0# samples = int(fs*duration)# t = np.arange(samples) / fs# time_series = signal.chirp(t, 20.0, t[-1], 100.0)# time_series *= (1.0 + 0.5 * np.sin(2.0*np.pi*3.0*t) )def hilbert_filter(x, fs, order=201, pic=None): ’’’ :param x: 輸入信號 :param fs: 信號采樣頻率 :param order: 希爾伯特濾波器階數 :param pic: 是否繪圖,bool :return: 包絡信號 ’’’ co = [2*np.sin(np.pi*n/2)**2/np.pi/n for n in range(1, order+1)] co1 = [2*np.sin(np.pi*n/2)**2/np.pi/n for n in range(-order, 0)] co = co1+[0]+ co # out = signal.filtfilt(b=co, a=1, x=x, padlen=int((order-1)/2)) out = signal.convolve(x, co, mode=’same’, method=’direct’) envolope = np.sqrt(out**2 + x**2) if pic is not None: w, h = signal.freqz(b=co, a=1, worN=2048, whole=False, plot=None, fs=2*np.pi) fig, ax1 = plt.subplots() ax1.set_title(’hilbert filter frequency response’) ax1.plot(w, 20 * np.log10(abs(h)), ’b’) ax1.set_ylabel(’Amplitude [dB]’, color=’b’) ax1.set_xlabel(’Frequency [rad/sample]’) ax2 = ax1.twinx() angles = np.unwrap(np.angle(h)) ax2.plot(w, angles, ’g’) ax2.set_ylabel(’Angle (radians)’, color=’g’) ax2.grid() ax2.axis(’tight’) # plt.savefig(pic + ’hilbert_filter.jpg’) plt.show() # plt.clf() # plt.close() return envolopestart = time.time()env0 = hilbert_filter(time_series, fs, 81, pic=True)end = time.time()a = end-startprint(a)plt.figure()ax1 = plt.subplot(211)plt.plot(time_series)ax2 = plt.subplot(212)plt.plot(env0)plt.xlabel(’time’)plt.ylabel(’mag’)plt.title(’envolope of music by FIR n time:%.3f’%a)plt.tight_layout()start = time.time()# 使用scipy庫函數實現希爾伯特變換env = np.abs(signal.hilbert(time_series))end = time.time()a = end-startprint(a)plt.figure()ax1 = plt.subplot(211)plt.plot(time_series)ax2 = plt.subplot(212)plt.plot(env)plt.xlabel(’time’)plt.ylabel(’mag’)plt.title(’envolope of music by scipy n time:%.3f’%a)plt.tight_layout()plt.show()

使用chirp信號對兩種方法進行比較

FIR濾波器的頻率響應

Python 基于FIR實現Hilbert濾波器求信號包絡詳解

使用音頻信號對兩種方法進行比較

由于音頻信號時間較長,采樣率較高,因此離散信號序列很長。使用頻域方法做FFT和IFFT要耗費比較長的時間;然而使用時域方法只是和濾波器沖擊響應做卷積,因此運算速度比較快。結果對比如下:

頻域方法結果

Python 基于FIR實現Hilbert濾波器求信號包絡詳解

時域方法結果

Python 基于FIR實現Hilbert濾波器求信號包絡詳解

由此看出,時域方法耗費時間要遠小于頻域方法。

以上這篇Python 基于FIR實現Hilbert濾波器求信號包絡詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: OLChemim试剂-ABsciex耗材-广州市自力色谱科仪有限公司 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 博医通医疗器械互联网供应链服务平台_博医通| 高速龙门架厂家_监控杆_多功能灯杆_信号灯杆_锂电池太阳能路灯-鑫世源照明 | 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 视频教程导航网_视频教程之家_视频教程大全_最新视频教程分享发布平台 | 活性氧化铝球|氧化铝干燥剂|分子筛干燥剂|氢氧化铝粉-淄博同心材料有限公司 | 无锡装修装潢公司,口碑好的装饰装修公司-无锡索美装饰设计工程有限公司 | 玻璃钢型材-玻璃钢风管-玻璃钢管道,生产厂家-[江苏欧升玻璃钢制造有限公司] | 大型冰雕-景区冰雕展制作公司,3D创意设计源头厂家-[赛北冰雕] | 旅游规划_旅游策划_乡村旅游规划_景区规划设计_旅游规划设计公司-北京绿道联合旅游规划设计有限公司 | 台式核磁共振仪,玻璃软化点测定仪,旋转高温粘度计,测温锥和测温块-上海麟文仪器 | 海鲜池-专注海鲜鱼缸、移动海鲜缸、饭店鱼缸设计定做-日晟水族厂家 | 碳纤维复合材料制品生产定制工厂订制厂家-凯夫拉凯芙拉碳纤维手机壳套-碳纤维雪茄盒外壳套-深圳市润大世纪新材料科技有限公司 | 二手光谱仪维修-德国OBLF光谱仪|进口斯派克光谱仪-热电ARL光谱仪-意大利GNR光谱仪-永晖检测 | 包塑丝_高铁绑丝_地暖绑丝_涂塑丝_塑料皮铁丝_河北创筹金属丝网制品有限公司 | 精密模具-双色注塑模具加工-深圳铭洋宇通 | 福兰德PVC地板|PVC塑胶地板|PVC运动地板|PVC商用地板-中国弹性地板系统专业解决方案领先供应商! 福建成考网-福建成人高考网 | 洁净化验室净化工程_成都实验室装修设计施工_四川华锐净化公司 | 砂石生产线_石料生产线设备_制砂生产线设备价格_生产厂家-河南中誉鼎力智能装备有限公司 | 一级建造师培训_一建培训机构_中建云筑建造师培训网校 | 北京森语科技有限公司-模型制作专家-展览展示-沙盘模型设计制作-多媒体模型软硬件开发-三维地理信息交互沙盘 | 济南网站策划设计_自适应网站制作_H5企业网站搭建_济南外贸网站制作公司_锐尚 | 深圳装修_店面装修设计_餐厅设计_装修全包价格-尚泰装饰设计 | 新型锤式破碎机_新型圆锥式_新型颚式破碎机_反击式打沙机_锤式制砂机_青州建源机械 | 塑料托盘厂家直销-吹塑托盘生产厂家-力库塑业【官网】 | 济南ISO9000认证咨询代理公司,ISO9001认证,CMA实验室认证,ISO/TS16949认证,服务体系认证,资产管理体系认证,SC食品生产许可证- 济南创远企业管理咨询有限公司 郑州电线电缆厂家-防火|低压|低烟无卤电缆-河南明星电缆 | 杭州中策电线|中策电缆|中策电线|杭州中策电缆|杭州中策电缆永通集团有限公司 | 盘扣式脚手架-附着式升降脚手架-移动脚手架,专ye承包服务商 - 苏州安踏脚手架工程有限公司 | 垃圾处理设备_餐厨垃圾处理设备_厨余垃圾处理设备_果蔬垃圾处理设备-深圳市三盛环保科技有限公司 | 瓶盖扭矩仪(扭力值检测)-百科 | 冷藏车-东风吸污车-纯电动环卫车-污水净化车-应急特勤保障车-程力专汽厂家-程力专用汽车股份有限公司销售二十一分公司 | 电动葫芦|环链电动葫芦-北京凌鹰名优起重葫芦 | 不锈钢钢格栅板_热浸锌钢格板_镀锌钢格栅板_钢格栅盖板-格美瑞 | 西安标准厂房_陕西工业厂房_西咸新区独栋厂房_长信科技产业园官方网站 | 派财经_聚焦数字经济内容服务平台| 石栏杆_青石栏杆_汉白玉栏杆_花岗岩栏杆 - 【石雕之乡】点石石雕石材厂 | 【星耀裂变】_企微SCRM_任务宝_视频号分销裂变_企业微信裂变增长_私域流量_裂变营销 | 附着力促进剂-尼龙处理剂-PP处理剂-金属附着力处理剂-东莞市炅盛塑胶科技有限公司 | 吹田功率计-长创耐压测试仪-深圳市新朗普电子科技有限公司 |