2013-04-28 79 views
0

情節我有一個wav文件,我將其導入到MATLAB,並使用下面的功能恢復,從採樣數據的原始信號:縮放在MATLAB

sub1=wavread('jamming.wav'); 
magnSub1=abs(fft(sub1)); 
phaseSub1=angle(fft(sub1)); 
sub1_L=magnSub1.*exp(i*phaseSub1); 
sub1_L=ifft(sub1_L); 
q=(2^15-1)*(abs(sub1_L).*cos(angle(sub1_L))); 
plot(q); 
axis([44000,45000,-2^15+1,+2^15-1]); 

但現在我要上添加一些散點圖現有的圖形比較採樣數據和連續波。 這是我到目前爲止有:

[wave,fs]=wavread('jamming.wav'); 

sound(wave,fs); 

t=0:1/fs:(length(wave)-1)/fs; 
z = t([1],:); 
wave1=wave(:,[1]); 
scatter(z,wave1); 

的問題是,我不能在x軸縮放到第一張圖。有人可以幫我解決這個問題嗎?我的最後一張圖應該和本頁面的一樣:http://www.cheers4all.com/2012/07/analog-to-digital-convertor-matlab-source-code/

幫助將非常感謝,提前謝謝!

+0

你確定你不是在尋找一個'stem'情節嗎?這似乎是用來在你提供的鏈接上生成圖表。當你第一次繪製數據時,你也不會使用x矢量繪圖 - 你如何期望它與第二種情況相匹配,在這種情況下,x軸的矢量爲「t」? – wakjah 2013-04-28 21:17:48

+0

@wakjah我試圖給第一張圖添加時間,但是如果我在第二張圖中使用t,它會一直說t和q應該是相同的大小。 – 2013-04-28 21:45:31

回答

0

這裏的問題是,你的第一條曲線繪製在範圍1:length(q)而第二個情節正在通過一系列策劃0 : 1/fs : (length(wave)-1)/fs

假設你的價值觀qwave1是相同的長度(和它看起來像他們可能be),請嘗試:

figure; hold all; 
plot(z, q); 
plot(z, wave1); 

然後,您可以根據自己的喜好調整每個繪圖命令的線條屬性。

如果qwave1是不完全一樣的長度,一個快速和骯髒的解決將是:

figure; hold all; 
plot(1:length(q), q); 
plot(1:length(wave1), wave1); 

這可能不會給你正是你在找什麼,但它應該朝着正確的方向邁出一步。