matlab聲音信號時域頻域轉換,關于處理用采集卡采集到的聲音時域信號轉化成頻域信號........

求助各位大神,我用麥克風通過采集卡采集到了一段聲音數據,數據在附件里,矩陣中第一列為時間,第二列為采集到的聲音的電壓信號,采樣頻率為1萬Hz,做出時域圖和頻域圖的程序如下所示:

clear;

clc;

load sheng NUM;

fs=10000;

a=NUM(:,1);

b=NUM(:,2);

m=size(b);

N=max(m);

s=fft(b,N-1);

X0=abs(s);

F=(0:N-2)*fs/(N-1);%計算采樣點的對應的頻率;

figure(1);

plot(1:N,b);

title('信號');

xlabel('信號采集序號');

ylabel('信號');

figure(2);

plot(F,X0)%原始頻譜圖;

title('原始頻譜圖');

xlabel('頻率/Hz');

ylabel('幅值');

s0(2:N-1)=X0(2:end)/(0.5*(N-1));

s0(1)=X0(1)/(N-1);

figure(3);

plot(F,s0)%實際頻譜圖;

title('實際頻譜圖');

xlabel('頻率/Hz');

ylabel('幅值');

fshift=round(0.5*(N-1));

figure(4);

plot(F(1:fshift),s0(1:fshift))%由于對稱只取一半頻譜;

title('頻譜圖');

xlabel('頻率/Hz');

ylabel('幅值');

figure(5);

P=phase(s); %計算相位

P=rem(P*180/pi,360); %換算為角度

plot(F,P); %顯示相位圖

title('相位-頻率曲線圖');

xlabel('頻率/Hz');

ylabel('相位/度');

得出來的時域圖和頻域圖如下所示:

頻域圖為何在0處顯示最高呢?求助各位

圖片1.jpg

(20.7 KB, 下載次數: 0)

2015-6-11 10:49 上傳

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

時域圖

3a60c5c8c275758061bd04ffb917200b.png

圖片2.jpg

(19.7 KB, 下載次數: 0)

2015-6-11 10:49 上傳

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

頻域圖

f2344c78fe533e7feb88cfe106dd20b0.png

16ae97300fb26d5150aca66cd3888cb6.gif

2015-6-11 10:39 上傳

點擊文件名下載附件

215.82 KB, 下載次數: 18

數據文件

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/443187.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/443187.shtml
英文地址,請注明出處:http://en.pswp.cn/news/443187.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

win7和mysql亂碼,windows本地mysql數據庫存入中文亂碼

windows本地mysql數據庫存入中文亂碼作者:PHPYuan 時間:2018-07-23 03:41:20出現的問題: 我這頁面存中文到數據庫會亂碼 我打了斷點 中文是傳到后臺dao層的 然后我試了下 把我本地項目連服務器數據庫 保存不會亂碼 我就懷疑是本地數據庫有問題 然后我用navicat寫了個…

畢業設計matlab在誤差處理中的應用,畢業設計MATLAB在誤差處理中的應用要點分析.doc...

畢業論文任務書院(系) 機械工程學院 專業班級 測控082級 學生姓名 馬 魁一、畢業論文題目 MATLAB在誤差理論中的應用二、畢業論文工作自______ ___年____ _月___ __日 起至____ _____年 月_____日止三、畢業論文進行地點: 陜西理工學院四、畢業論文內容要求:傳統的數…

帝國cms 未審核 showinfo.php,帝國CMS批量修改文章未審核狀態及批量修改上線時間...

帝國CMS批量修改審核文章未審核狀態,批量自定義指定文件上線時間!用法:后臺增加自定義頁面 PHP CODE:$infouptimeto_time(2016-06-12 10:50:19); //上線時間$sql$empire->query("select * from {$dbtbpre}ecms_".$class_r[2][…

php 完美防sql注入,PHP 完美的防XSS 防SQL注入的代碼

PHP "完美"的防XSS 防SQL注入的代碼function gjj($str){$farr array("/s/","/]*?)>/isU","/(]*)on[a-zA-Z]s*([^>]*>)/isU",);$str preg_replace($farr,"",$str);return addslashes($str);}function hg_input_b…

oracle 并行執行 殺掉會話,oracle – 為什么即使我禁用并行DML和并行DDL也會創建并行會話...

READ和WRITE并行性并不總是捆綁在一起.alter session disable parallel dml;僅禁用語句的WRITE部分的并行性. READ部分可能仍然并行運行.由于這是MERGE操作,因此并行提示請求讀寫并行寫入.此外,并行提示覆蓋alter session disable parallel query;,即使它不覆蓋alter session d…

oracle臨時表空間占用率過高,ORACLE 臨時表空間使用率過高的原因及臨時解決方案...

數據庫temp臨時表空間增大,一般在數據安裝時設置臨時表空間大小,默認的情況下都是設置為自動增長。這樣會引起一個問題:在數據庫使用中temp表空間會自動擴展的越來越大,造成磁盤空間使用不足。引起臨時表空間增大主要使用在以下幾…

oracle11g中的join,sql - 使用Oracle 11g中的+符號進行左外連接

()相當于()。在Oracle中,()表示JOIN中的“可選”表。 所以在你的第一個查詢中,它是一個().在你的第二個查詢中,它是()。它們在功能上是等價的。在術語中,RIGHT或LEFT指定連接的哪一側始終具有記錄,而另一側可能為空。 …

oracle中order by 2,關于oracle中ROWNUM和ORDER BY的問題(2)

SQL code16:29:53 scottTUNGKONG> SELECT a.*,rownum FROM (SELECT good_id, good_nm, prc FROM tb_ag001 ORDER BY prc) a;GOOD_I GOOD_NM PRC ROWNUM------ ------------------------------ ---------- ----------133337 陽光寶貝防曬修復套SPF-30 0 1133424 旋覆透白繡花…

oracle 600 侯,oracle在導入數據時報600錯誤的解決方法

前言前幾天導入一個大容量dmp數據文件,報一個600錯誤,咨詢網上的解決方法,按上面的處理一圈也沒有整好,最后咨詢組里一個大神,出現此錯誤 思路是,單個數據文件大小最大為32G,分析數據庫后解決如…

php null截斷 漏洞,CVE-2015-3412,CNNVD-201507-164|PHP NULL Character 安全漏洞 - 信息安全漏洞門戶 VULHUB...

PHP(PHP:Hypertext Preprocessor,PHP:超文本預處理器)是PHP Group和開放源代碼社區共同維護的一種開源的通用計算機腳本語言。該語言主要用于Web開發,支持多種數據庫及操作系統。 PHP中存在安全漏洞,該漏洞源于程序沒有…

Oracle插數據timeout,oracle 11g 頻繁報kmgs_parameter_update_timeout

各位 好!我的數據庫RAC 11g 最近頻繁報錯,數據庫版本是11.2.0.1.0 詳細錯誤信息如下:Errors in file /u01/app/oracle/diag/rdbms/glddb/glddb1/trace/glddb1_mmon_27429.trc (incident123874):ORA-00600: internal error code, arguments: …

shell從oracle中獲取變量,shell 如何讀取環境變量的值

筆者最近在開發中遇到新舊版本不兼容的問題,需要我解析的內容更新到最新后對于舊的日志將不支持,所以我需要設置開關來區分是用新的腳本還是原來舊的腳本;這樣我就遇到了比較基礎的問題,那就是在shell腳本中如何讀取環境變量并使用…

linux touch更新文件時間,Linux文件時間的查看和修改touch

1. Linux文件的時間Linux下文件時間主要有下面三種:1.1 modification time(mtime)文件修改時間,即文件內容的修改時,更新這個時間,不包括文件權限和屬性的修改。使用ls -l查看,默認顯示時間為mtime$ ls -l uconv.h-rw-…

linux中ftp禁止匿名,linux下禁止root和匿名用戶登錄ftp

1、ftp通過root或其他用戶進入可視化界面權限過大,容易導致系統文件誤刪windows下輸入ftp://IP去訪問,不需要賬號密碼就可以訪問到ftp文件夾剛進去pub是空的,在linux上新增一個txt文件,再去windows下刷新可以看到txt文件&#xff…

mats顯存測試軟件linux環境,Mats顯存檢測軟件下載-Mats顯存檢測軟件最新版下載-微俠手游網...

Mats顯存檢測軟件是一款專業的顯卡檢測工具,全系統都是中文的,是一款裝機必備的硬件工具,幫助你了解自己的顯卡運作情況,有任何問題都可以第一時間暫停,看完的小伙伴可以關注微俠網下載最新版軟件以及查看最新攻略及資…

linux嵌入式智能家居環境監測系統的設計,智能家居環境監測系統.doc

智能家居環境監測系統.doc智能家居環境監測系統近些年來,智能家居系統的使用功能愈加健全。本文之中在充分了解嵌入式系統平臺的具體構建的前提下,以智能家居系統當前的功能要求為主要方向,以該平臺的硬件設計為切入點,細致探索了…

linux驅動與dts匹配過程,自己編寫從應用到DTS與驅動

這里的思路依然是從應用到drivers編寫,只是貼出來重點部分。import android.app.InoGpioManager;((InoGpioManager) context.getSystemService(Context.INOGPIO_SERVICE)).ioctl(cmd,val);InoGpioManager.java的編寫:public class InoGpioManager{privat…

完全用 gnu/linux 工作,怎樣完全用 GNU/Linux 工作

怎樣完全用 GNU/Linux 工作說了這么多 Windows 的不好。我還沒有告訴你我怎么用 Linux 處理有些必要的事情。半年以前我由于中文老是配置不好,一直是雙系統,不時需要重起到 Win2k 來處理漢字。后來我找到了 miniChinput, XSIM 和 SCIM 輸入法。這下可以處…

c語言以順序結構存儲的二叉樹的非遞歸遍歷,C語言二叉樹的非遞歸遍歷實例分析...

本文以實例形式講述了C語言實現二叉樹的非遞歸遍歷方法。是數據結構與算法設計中常用的技巧。分享給大家供大家參考。具體方法如下:先序遍歷:void preOrder(Node *p) //非遞歸{if(!p) return;stack s;Node *t;s.push(p);while(!s.empty()){ts.top();prin…

c語言標識符的文法表示,第三章文法和語法[lly]3.ppt

第三章文法和語法[lly]3第3章文法和語言;1、語言;研究程序設計語言及研究的三個方面: 每個程序構成的規律(語法 Syntax)每個程序的含義(語義 Semantics)每個程序和使用者的關系(語用 Pragmatics)語言三個方面定義:語法 -- 表示構成語言句子的各個記號之間…