A. 如何用Excel製作頻譜分析圖
工具/材料:Microsoft Office Excel2016版,Excel表格。
1、首先選中Excel表格,雙擊打開。
B. matlab里有什麼工具箱,可以用FFT(快速傅立葉變換)做頻譜分析
1、采樣數據導入Matlab 。
采樣數據的導入至少有三種方法。
第一就是手動將數據整理成Matlab支持的格式,這種方法僅適用於數據量比較小的采樣。
第二種方法是使用Matlab的可視化交互操作,具體操作步驟為:File --> Import Data,然後在彈出的對話框中找到保存采樣數據的文件,根據提示一步一步即可將數據導入。這種方法適合於數據量較大,但又不是太大的數據。
第三種方法,使用文件讀入命令。數據文件讀入命令有textread、fscanf、load等,如采樣數據保存在txt文件中,則推薦使用 textread命令。如[a,b]=textread('data.txt','%f%*f%f'); 這條命令將data.txt中保存的數據三個三個分組,將每組的第一個數據送給列向量a,第三個數送給列向量b,第二個數據丟棄。命令類似於C語言,詳細可查看其幫助文件。文件讀入命令錄入采樣數據可以處理任意大小的數據量,且錄入速度相當快,一百多萬的數據不到20秒即可錄入。
2、對采樣數據進行頻譜分析 。
頻譜分析自然要使用快速傅里葉變換FFT了,對應的命令即 fft ,簡單使用方法為:Y=fft(b,N),其中b即是采樣數據,N為fft數據采樣個數。一般不指定N,即簡化為Y=fft(b)。Y即為FFT變換後得到的結果,與b的元素數相等,為復數。以頻率為橫坐標,Y數組每個元素的幅值為縱坐標,畫圖即得數據b的幅頻特性;以頻率為橫坐標,Y數組每個元素的角度為縱坐標,畫圖即得數據b的相頻特性。典型頻譜分析M程序舉例如下: clc fs=100;
t=[0:1/fs:100];
N=length(t)-1;%減1使N為偶數 %頻率解析度F=1/t=fs/N
p=1.3*sin(0.48*2*pi*t)+2.1*sin(0.52*2*pi*t)+1.1*sin(0.53*2*pi*t)... +0.5*sin(1.8*2*pi*t)+0.9*sin(2.2*2*pi*t);
%上面模擬對信號進行采樣,得到采樣數據p,下面對p進行頻譜分析
figure(1) plot(t,p); grid on
title('信號 p(t)'); xlabel('t') ylabel('p') Y=fft(p);
magY=abs(Y(1:1:N/2))*2/N; f=(0:N/2-1)'*fs/N; figure(2)
%plot(f,magY);
h=stem(f,magY,'fill','--');
set(h,'MarkerEdgeColor','red','Marker','*') grid on
title('頻譜圖 (理想值:[0.48Hz,1.3]、[0.52Hz,2.1]、[0.53Hz,1.1]、[1.8Hz,0.5]、[2.2Hz,0.9]) '); xlabel('f (Hz)') ylabel('幅值')
對於現實中的情況,采樣頻率fs一般都是由采樣儀器決定的,即fs為一個給定的常數;另一方面,為了獲得一定精度的頻譜,對頻率解析度F有一個人為的規定,一般要求F<0.01,即采樣時間ts>100秒;由采樣時間ts和采樣頻率fs即可決定采樣數據量,即采樣總點數N=fs*ts。這就從理論上對采樣時間ts和采樣總點數N提出了要求,以保證頻譜分析的精準度。
C. 用matlab進行頻譜分析應該用什麼工具箱
SPTool是MATLAB信號處理工具箱中自帶的互動式圖形用戶界面工具,它包含了信內號處理工具箱中的容大部分函數,可以方便快捷地完成對信號、濾波器及頻譜的分析、設計和瀏覽。在本例中按以下步驟完成濾波器的設計和濾波: 創建並導入信號源。 在MATLAB...
D. 什麼是圖像的頻譜分析
所謂頻譜分析實際上就是在變換域中分析,頻譜分析是各種變換方式(二維FFT分析、離散餘弦變換等)當中的一種,圖像的頻譜分析就是把圖像的二維時域信號通過二維FFT分析變換為空間頻譜進行分析
E. 'matlab中將頻譜圖像標度在0-255范圍內的函數是什麼
1.圖像處理工具箱所支持的圖像類型
1.1真彩色圖像
R、G、B三個分量表示一個像素的顏色。如果要讀取圖像中(100,50)處的像素值,
可查看三元數據(100,50,1:3)。
真彩色圖像可用雙精度存儲,亮度值范圍是[0,1];比較符合習慣的存儲方法是用無
符號整型存儲,亮度值范圍[0,255]
1.2索引色圖像
包含兩個結構,一個是調色板,另一個是圖像數據矩陣。調色板是一個有3列和若干行
的色彩映象矩陣,矩陣每行代表一種顏色,3列分別代表紅、綠、藍色強度的雙精度數。
注意:MATLAB中調色板色彩強度[0,1],0代表最暗,1代表最亮。
常用顏色的RGB值
--------------------------------------------
顏色R G B顏色R G B
--------------------------------------------
黑0 0 1洋紅1 0 1
白1 1 1青藍0 1 1
紅1 0 0天藍0.67 0 1
綠0 1 0橘黃1 0.5 0
藍0 0 1深紅0.5 0 0
黃1 1 0灰0.5 0.5 0.5
--------------------------------------------
產生標准調色板的函數
-------------------------------------------------
函數名調色板
-------------------------------------------------
Hsv色彩飽和度,以紅色開始,並以紅色結束
Hot黑色-紅色-黃色-白色
Cool青藍和洋紅的色度
Pink粉紅的色度
Gray線型灰度
Bone帶藍色的灰度
Jet Hsv的一種變形,以藍色開始,以藍色結束
Copper線型銅色度
Prim三棱鏡,交替為紅、橘黃、黃、綠和天藍
Flag交替為紅、白、藍和黑
--------------------------------------------------
預設情況下,調用上述函數灰產生一個64×3的調色板,用戶也可指定調色板大小。
索引色圖像數據也有double和uint8兩種類型。
當圖像數據為double類型時,值1代表調色板中的第1行,值2代表第2行……
如果圖像數據為uint8類型,0代表調色板的第一行,,值1代表第2行……
1.3灰度圖像
存儲灰度圖像只需要一個數據矩陣。
數據類型可以是double,[0,1];也可以是uint8,[0,255]
1.4二值圖像
二值圖像只需一個數據矩陣,每個像素只有兩個灰度值,可以採用uint8或double類型存儲。
MATLAB工具箱中以二值圖像作為返回結果的函數都使用uint8類型。
1.5圖像序列
MATLAB工具箱支持將多幀圖像連接成圖像序列。
圖像序列是一個4維數組,圖像幀的序號在圖像的長、寬、顏色深度之後構成第4維。
分散的圖像也可以合並成圖像序列,前提是各圖像尺寸必須相同,若是索引色圖像,
調色板也必須相同。
可參考cat()函數A=cat(4,A1,A2,A3,A4,A5)
2.MATLAB圖像類型轉換
圖像類型轉換函數
---------------------------------------------------------------------------
函數名函數功能
---------------------------------------------------------------------------
dither圖像抖動,將灰度圖變成二值圖,或將真彩色圖像抖動成索引色圖像
gray2ind將灰度圖像轉換成索引圖像
grayslice通過設定閾值將灰度圖像轉換成索引色圖像
im2bw通過設定亮度閾值將真彩色、索引色、灰度圖轉換成二值圖
ind2gray將索引色圖像轉換成灰度圖像
ind2rgb將索引色圖像轉換成真彩色圖像
mat2gray將一個數據矩陣轉換成一副灰度圖
rgb2gray將一副真彩色圖像轉換成灰度圖像
rgb2ind將真彩色圖像轉換成索引色圖像
----------------------------------------------------------------------------
3.圖像文件的讀寫和查詢
3.1圖形圖像文件的讀取
利用函數imread()可完成圖形圖像文件的讀取,語法:
A=imread(filename,fmt)
[X,map]=imread(filename,fmt)
[...]=imread(filename)
[...]=imread(filename,idx)(只對TIF格式的文件)
[...]=imread(filename,ref)(只對HDF格式的文件)
通常,讀取的大多數圖像均為8bit,當這些圖像載入到內存中時,Matlab就將其存放
在類uint8中。此為Matlab還支持16bit的PNG和TIF圖像,當讀取這類文件時,Matlab就將
其存貯在uint16中。
注意:對於索引圖像,即使圖像陣列的本身為類uint8或類uint16,imread函數仍將
顏色映象表讀取並存貯到一個雙精度的浮點類型的陣列中。
3.2圖形圖像文件的寫入
使用imwrite函數,語法如下:
imwrite(A,filename,fmt)
imwrite(X,map,filename,fmt)
imwrite(...,filename)
imwrite(...,parameter,value)
當利用imwrite函數保存圖像時,Matlab預設的方式是將其簡化道uint8的數據格式。
3.3圖形圖像文件信息的查詢imfinfo()函數
4.圖像文件的顯示
4.1索引圖像及其顯示
方法一:
image(X)
colormap(map)
方法二:
imshow(X,map)
4.2灰度圖像及其顯示
Matlab 7.0中,要顯示一副灰度圖像,可以調用函數imshow或imagesc(即
imagescale,圖像縮放函數)
(1)imshow函數顯示灰度圖像
使用imshow(I)或使用明確指定的灰度級書目:imshow(I,32)
由於Matlab自動對灰度圖像進行標度以適合調色板的范圍,因而可以使用自定義
大小的調色板。其調用格式如下:
imshow(I,[low,high])
其中,low和high分別為數據數組的最小值和最大值。
(2)imagesc函數顯示灰度圖像
下面的代碼是具有兩個輸入參數的imagesc函數顯示一副灰度圖像
imagesc(1,[0,1]);
colormap(gray);
imagesc函數中的第二個參數確定灰度范圍。灰度范圍中的第一個值(通常是0),
對應於顏色映象表中的第一個值(顏色),第二個值(通常是1)則對應與顏色映象表
中的最後一個值(顏色)。灰度范圍中間的值則線型對應與顏色映象表中剩餘的值(顏色)。
在調用imagesc函數時,若只使用一個參數,可以用任意灰度范圍顯示圖像。在該
調用方式下,數據矩陣中的最小值對應於顏色映象表中的第一個顏色值,數據矩陣中的最大
值對應於顏色映象表中的最後一個顏色值。
4.3 RGB圖像及其顯示
(1)image(RGB)
不管RGB圖像的類型是double浮點型,還是uint8或uint16無符號整數型,Matlab都
能通過image函數將其正確顯示出來。
RGB8=uint8(round(RGB64×255));%將double浮點型轉換為uint8無符號整型
RGB64=double(RGB8)/255;%將uint8無符號整型轉換為double浮點型
RGB16=uint16(round(RGB64×65535));%將double浮點型轉換為uint16無符號整型
RGB64=double(RGB16)/65535;%將uint16無符號整型轉換為double浮點型
(2)imshow(RGB)參數是一個m×n×3的數組
4.4二進制圖像及其顯示
(1)imshow(BW)
在Matlab 7.0中,二進制圖像是一個邏輯類,僅包括0和1兩個數值。像素0顯示
為黑色,像素1顯示為白色。
顯示時,也可通過NOT(~)命令,對二進制圖象進行取反,使數值0顯示為白色;1顯示
為黑色。
例如:imshow(~BW)
(2)此外,還可以使用一個調色板顯示一副二進制圖像。如果圖形是uint8數據類型,
則數值0顯示為調色板的第一個顏色,數值1顯示為第二個顏色。
例如:imshow(BW,[1 0 0;0 0 1])
4.5直接從磁碟顯示圖像可使用一下命令直接進行圖像文件的顯示:
imshow filename
其中,filename為要顯示的圖像文件的文件名。
如果圖像是多幀的,那麼imshow將僅顯示第一幀。但需注意,在使用這種方式時,圖像
數據沒有保存在Matlab 7.0工作平台。如果希望將圖像裝入工作台中,需使用getimage函
數,從當前的句柄圖形圖像對象中獲取圖像數據,
命令形式為:rgb=getimage;
F. 怎麼用matlab畫出圖片的頻譜分析圖
1.假設信號域為四捨五入,向量t為n維向量,則信號的離散采樣周期為Ts=1/fs=四捨五入/(n-1),其中fs為采樣頻率。
G. 跪求一款能夠顯示圖像頻譜的工具,有哪些軟體可以查看圖像頻譜
這個滿足您的需要:
http://hi..com/wudging/item/10c353988c15084bf1421526
H. 頻譜分析的工具
頻譜分析儀等工具可較為方便的觀察其頻譜。
就量測信號的技術觀之,時域方面,示波器為一項極為重要且有效的量測儀器,它能直接顯示信號波幅、頻率、周期、波形與相位之響應變化,目前,一般的示波器至少為雙軌跡輸出顯示裝置,同時也具有與繪圖儀連接的IEEE-488、IEEE-1394 或RS-232 介面功能,能將屏幕上量測顯示的信息繪出,作為研究比較的依據,但它僅局限於低頻的信號,高頻信號則有其實際的困難。頻譜分析儀乃能彌補此項缺失,同時將一含有許多頻率的信號用頻域方式來呈現,以識別在各個頻率的功率裝置,以顯示信號在頻域里的特性。圖1.說明方波在時域與頻域的關系,此立體坐標軸分別代表時間、頻率與振幅。由傅立葉級數(Fourier Series)可知方波包含有基本波(Fundamental Wave)及若干諧波(Harmonics),信號的組合成份由此立體坐標中對應顯示出來。低頻時,雙軌跡模擬與數字示波器為目前信號時域的主要量測設備,模擬示波器可量測的輸入信號頻率可達100 MHz,數字示波器有100 MHz 與400(或500)MHz 等多種。屏幕上顯示信號的意義為橫軸代表時間,縱軸代表信號電壓的振幅,用示波器量測可得到信號時間的相位及信號與時間的關系,但無法獲知信號失真的數據,亦即無法獲知信號諧波分量的分布情況,同時量測微波領域(如UHF 以上的頻帶)信號時,基於設備電子組件功能的限制、輸入端雜散電容等因素,量測的結果無可避免地將產生信號失真及衰減,為解決量測高頻信號上述的問題,頻譜分析儀為一適當而必備的量測儀器,頻譜分析儀的主要功能是量測信號的頻率響應,橫軸代表頻率,縱軸代表信號功率或電壓的數值,可用線性或對數刻度顯示量測的結果。
另外它的信號追蹤產生器(Tracking Generator)可直接量測待測件DUT(Device Under Test)的頻率響應特性,但它只能量測振幅無法量測相位。就高頻信號領域觀之,頻譜分析儀是電子工程技術人員不可或缺的設備,對頻譜分析儀工作原理的了解將有助於信號量測系統的建立及充分擴展其應用范疇。
頻譜分析儀的應用領域相當廣泛,諸如衛星接收系統、無線電通信系統、行動電話系統基地台輻射場強的量測、電磁干擾等高頻信號的偵測與分析,同時也是研究信號成份、信號失真度、信號衰減量、電子組件增益等特性的主要儀器。
I. 在matlab里如何用工具箱里的掃頻功能測出舵機的頻率
摘要 MATLAB裡面的ident工具箱就是專門用來做辨識的,你只需要把輸入輸出的數據給它,然後設置好參數(采樣時間,傳遞函數階數,有無零點,有無延遲,極點類型等),然後就會計算出傳遞函數的參數,不需要編程,我記得這個工具箱本身用的就是最小二乘的演算法。當然,MATLAB本身是以矩陣為基礎的,所以你需要有一個數據採集器採集數據,然後存到一個數組里,然後轉化成向量的形式,讓MATLAB來讀取數據。這個工具箱能夠接受各種各樣的數據,可以是時域的,也可以是頻域的,比如階躍信號就很明顯是時域的分析,如果測試的時候用的是不同頻率的正弦波,那就是掃頻法,屬於頻域數據。能夠辨識的數學模型可以使傳遞函數,也可以是狀態空間方程等等。
J. 怎麼用mathematica作圖像頻譜分析
Spectrogram—Wolfram語言參考資料http://reference.wolfram.com/language/ref/Spectrogram.html?q=Spectrogram