Frequency doesn't sound right

2 ビュー (過去 30 日間)
Tom
Tom 2012 年 2 月 5 日
Hey, I'm just doing a tutorial for a course I'm doing and one question asks us to recover 'signal 2', where we're given signal 1 (x), and the combination of signal 1 & 2 (z).
Whether or not my process is right or not, there's something I'd like to ask. I thought I'd listen back to signal 2 (y(t) in this case). When looking at the graph of y(t), it's clear that the period T is 0.0025 sec. The inverse of this gives the frequency of the sound - 400 Hz. When I listen to this however, it sounds significantly lower than a tone at 400 Hz.
Is it something to do with my sampling frequency, or my number of points?
And here's my code: -
close all; clear all;
[x,fs] = wavread('signal_1');
x = transpose(x);
[z,fs] = wavread('signal1and2');
z = transpose(z);
N = length(x); %Number of points
i_nyquist = N/2+1; %index of nyquist frequency
dt = 1/fs; %sampling interval or sampling period
t = (([1:N]-1)/fs); %Time axis
posfreq = fs*([1:i_nyquist]-1)/N; %positive frequency axis
negfreq = fs*([i_nyquist:(N-1)]-N)/N;%negative frequency axis
X = (fft(x,N)); %Transform into frequency domain using FFT
Z = (fft(z,N)); %Transform into frequency domain using FFT
Y = (Z./X); %Y in the frequency domain
y = ifft(Y); %Transform into time domain using inverse FFT
sound(y)

採用された回答

Daniel Shub
Daniel Shub 2012 年 2 月 6 日
The function sound uses a sample rate of 8192 unless you give it something else. My guess is you want
sound(y, fs);
You code also assumes that x and z have the same lengths and sample rates.
  1 件のコメント
Tom
Tom 2012 年 2 月 7 日
Thanks Daniel, that sorted it. They did have the same length and sample rates, but yeah I needed to add the 'fs' into the sound command to get it sounding at the correct pitch.
Many thanks.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMeasurements and Spatial Audio についてさらに検索

タグ

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by