女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于Python的numpy進行的數字信號的頻譜分析詳解

dKBf_eetop_1 ? 2017-12-12 14:16 ? 次閱讀

Python 是目前的熱門語言,一直覺得掌握一門編程語言對作為搞技術的來說還是很有必要的,結合工作中能用到的一些數據處理和分析的內容,覺得從數據分析入手,爭取能夠掌握Python在數據處理領域的一些應用。下面是基于Python的numpy進行的數字信號的頻譜分析介紹

一、傅里葉變換

傅里葉變換是信號領域溝通時域和頻域的橋梁,在頻域里可以更方便的進行一些分析。傅里葉主要針對的是平穩信號的頻率特性分析,簡單說就是具有一定周期性的信號,因為傅里葉變換采取的是有限取樣的方式,所以對于取樣長度和取樣對象有著一定的要求。

二、基于Python的頻譜分析

# _*_ coding:utf-8 _*_

import numpy as np #導入一個數據處理的模塊

import pylab as pl #導入一個繪圖模塊,matplotlib下的模塊

sampling_rate = 8000 ##取樣頻率

fft_size =512 #FFT處理的取樣長度

t = np.arange(0,1.1,1.0/sampling_rate)

#np.arange(起點,終點,間隔)產生1s長的取樣時間

x = np.sin(2*np.pi*156.25*t)+2*np.sin(2*np.pi*234.375*t)

#兩個正弦波疊加,156.25HZ和234.375HZ,因此如上面簡單

#的介紹FFT對于取樣時間有要求,

#N點FFT進行精確頻譜分析的要求是N個取樣點包含整數個

#取樣對象的波形。

#因此N點FFT能夠完美計算頻譜對取樣對象的要求

#是n*Fs/N(n*采樣頻率/FFT長度),

#因此對8KHZ和512點而言,

#完美采樣對象的周期最小要求是8000/512=15.625HZ,

#所以156.25的n為10,234.375的n為15。

xs = x[:fft_size]# 從波形數據中取樣fft_size個點進行運算

xf = np.fft.rfft(xs)/fft_size # 利用np.fft.rfft()進行FFT計算,rfft()是為了更方便

#對實數信號進行變換,由公式可知/fft_size為了正確顯示波形能量

# rfft函數的返回值是N/2+1個復數,分別表示從0(Hz)

#到sampling_rate/2(Hz)的分。

#于是可以通過下面的np.linspace計算出返回值中每個下標對應的真正的頻率:

freqs = np.linspace(0,sampling_rate/2,fft_size/2+1)

# np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

#在指定的間隔內返回均勻間隔的數字

xfp = 20*np.log10(np.clip(np.abs(xf),1e-20,1e1000))

#最后我們計算每個頻率分量的幅值,并通過 20*np.log10()

#將其轉換為以db單位的值。為了防止0幅值的成分造成log10無法計算,

#我們調用np.clip對xf的幅值進行上下限處理

pl.figure(figsize=(8,4))

pl.subplot(211)

pl.plot(t[:fft_size], xs)

pl.xlabel(u"時間(秒)")

pl.title(u"The Wave and Spectrum 156.25Hz234.375Hz")

pl.subplot(212)

pl.plot(freqs, xfp)

pl.xlabel(u"Hz")

pl.subplots_adjust(hspace=0.4)

pl.show()

#繪圖顯示結果

現在來看看頻譜泄露,將采樣對象的頻率改變

x = np.sin(2*np.pi*100*t)+2*np.sin(2*np.pi*234.375*t)

我們明顯看出,第一個對象的頻譜分析出現“泄露”,能量分散到其他頻率上,

沒法準確計算到計算對象的頻譜特性。

窗函數

上面我們可以看出可以通過加“窗”函數的方法來處理,盡量保證FFT長度內

的取樣對象是對稱的。

import pylab as pl

import scipy.signal as signal

pl.figure(figsize=(8,3))

pl.plot(signal.hann(512))#漢明窗函數

pl.show()

對上述出現頻譜泄露的函數進行加窗處理,后面會介紹一下各種加窗函數的原理和效果。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • python
    +關注

    關注

    56

    文章

    4823

    瀏覽量

    86125
  • 傅里葉變換
    +關注

    關注

    6

    文章

    442

    瀏覽量

    43007

原文標題:基于Python的數字信號處理初步

文章出處:【微信號:eetop-1,微信公眾號:EETOP】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    怎么用頻譜分析法測量數字信號電平?

    數字電視、數字傳輸、數據通信中,其信號是采用多種調制方式的數字信號,這時的數字信號電平已不能用一般傳統的方法來定度和測量,用
    發表于 08-08 07:44

    應用FFT對信號進行頻譜分析

    實驗 應用FFT對信號進行頻譜分析一、 實驗目的1、在理論學習的基礎上,通過本次實驗,加深對快速傅里葉變換的理解,熟悉FFT算法及其程序的編寫。2、熟悉
    發表于 05-10 10:00 ?64次下載

    信號頻譜分析和測試

    信號頻譜分析和測試 1.了解周期函數的傅立葉變換理論及虛擬頻譜分析儀的工作原理;2.熟悉典型信號的波形和頻譜特征,并能夠從
    發表于 06-22 09:16 ?6294次閱讀
    <b class='flag-5'>信號</b><b class='flag-5'>頻譜分析</b>和測試

    虛擬信號頻譜分析儀的設計

    虛擬信號頻譜分析儀的設計 隨著計算機技術的迅速發展,利用軟件進行信號處理技術的應用日益廣泛,已開發的用于虛擬儀器的數字信號處理和圖
    發表于 01-21 17:12 ?1739次閱讀
    虛擬<b class='flag-5'>信號</b><b class='flag-5'>頻譜分析</b>儀的設計

    復平面內信號頻譜分析

    給出了一種在復平面內,用圖形分析進行信號頻譜分析的方法,詳細地分析數字頻率與模擬頻率之間的關系
    發表于 02-07 11:58 ?29次下載
    復平面內<b class='flag-5'>信號</b><b class='flag-5'>頻譜分析</b>

    數字信號處理教程之數字信號頻譜的詳細資料說明

    數字信號處理教程之數字信號頻譜的詳細資料說明包括了:1 頻譜的意義,2 非周期數字信號頻譜,3
    發表于 11-13 17:08 ?24次下載

    數字信號全相位譜分析與濾波技術的PDF電子書免費下載

    數字信號全相位譜分析與濾波技術》是2009年02月電子工業出版社出版的圖書,作者是王兆華。該書系統地介紹了一種新的信號處理方法——全相位數字信號處理方法,并且利用這種新方法對
    發表于 08-06 08:00 ?112次下載
    <b class='flag-5'>數字信號</b>全相位<b class='flag-5'>譜分析</b>與濾波技術的PDF電子書免費下載

    頻譜分析儀對信號進行頻譜分析誤差有哪幾方面?

    示波器、跟蹤示波器、分析示波器、諧波分析器、頻率特性分析儀或傅里葉分析儀等。現代頻譜分析儀能以模擬方式或
    的頭像 發表于 12-27 10:47 ?3170次閱讀
    <b class='flag-5'>頻譜分析</b>儀對<b class='flag-5'>信號</b><b class='flag-5'>進行頻譜分析</b>誤差有哪幾方面?

    應用MATLAB(或Python)對數據進行數字特征估計與頻譜分析

    實驗目的:應用MATLAB MATLAB(或Python)對數據進行數字特征估計與頻譜分析 實驗內容:實驗數據一為某氣象站若干年每日氣象數據,實驗數據二為某氣象站每小時氣象數據。試
    發表于 08-02 16:19 ?16次下載

    頻譜分析儀的用途與應用詳解

    頻譜分析儀,作為電子測量領域的重要工具,其應用廣泛且功能強大。它主要用于分析信號頻譜特性,即信號在頻域上的分布和變化。在現代通信、雷達、電
    的頭像 發表于 05-14 15:52 ?2980次閱讀

    頻譜分析儀怎么測量數字信號

    在現代通信、數據傳輸和信號處理等領域,數字信號的應用日益廣泛。數字信號以其高可靠性、抗干擾能力強和易于處理等優點,成為現代通信系統的核心。然而,對于數字信號的測量和
    的頭像 發表于 05-17 18:10 ?1462次閱讀

    頻譜分析儀是否有磁性原理

    儀的工作原理主要包括以下幾個步驟: 輸入信號頻譜分析儀接收待測信號,這些信號可以是模擬信號數字信號
    的頭像 發表于 06-03 09:23 ?713次閱讀

    Keysight 頻譜分析儀(信號分析儀)

    Keysight頻譜分析儀(信號分析儀)足夠的性能和卓越的可靠性,幫助您更輕松、更快速地應對常見的射頻-微波測試測量挑戰。可靠的頻譜分析儀和信號
    的頭像 發表于 09-12 08:10 ?932次閱讀
    Keysight <b class='flag-5'>頻譜分析</b>儀(<b class='flag-5'>信號</b><b class='flag-5'>分析</b>儀)

    如何使用頻譜分析進行信號測量

    頻譜分析儀的基本原理 頻譜分析儀通過將輸入信號與一系列已知頻率的參考信號進行比較,來確定信號中各
    的頭像 發表于 11-27 15:31 ?1370次閱讀

    如何使用傅立葉變換進行頻譜分析

    使用傅里葉變換進行頻譜分析是一個復雜但強大的過程,它允許我們了解信號在頻率域中的特性。以下是一個使用傅里葉變換進行頻譜分析的基本步驟: 一、準備信號 首先,需要有一個要
    的頭像 發表于 12-06 16:58 ?1288次閱讀