Показать сообщение отдельно
Старый 03.05.2005, 20:24     # 8
crawler
Full Member
 
Регистрация: 11.12.2002
Сообщения: 864

crawler Имеются все основания чтобы гордиться собойcrawler Имеются все основания чтобы гордиться собойcrawler Имеются все основания чтобы гордиться собойcrawler Имеются все основания чтобы гордиться собойcrawler Имеются все основания чтобы гордиться собойcrawler Имеются все основания чтобы гордиться собойcrawler Имеются все основания чтобы гордиться собойcrawler Имеются все основания чтобы гордиться собойcrawler Имеются все основания чтобы гордиться собойcrawler Имеются все основания чтобы гордиться собой
У вас, батенька, проблема не только с Матлабом, но и с понятием что делать - а это самое плохое. Советую почитать книжки по DSP (John G. Proakis , Dimitris G. Manolakis. Digital signal processing: principles, algorithms, and applications или Simon S. Haykin.Signals and Systems - эта попроще) Без этого - ничего не поможет.

Satan Klaus : ты в корне не прав по отношению к оси Х. Это же дигитальная частота, а не аналоговая. Значит результат будет в промежутке [-pi,pi] и повторятся каждые 2*пи. К тому же преобразование будет от -22050 до 22050

Код:
[y,Fs,nbits] = wavread('your.wav'); % читаем вав
sound(y,Fs);
Y=fftshift(fft(y)); % делаем БПФ -  длина зависит только от вектора у
scale=linspace(-pi,pi,length(Y)); % шкала оси Х
figure(1);
plot(scale,abs(Y)); % амплитуда
title('Amplitude');
figure(2);
plot(scale,angle(Y));% фаза
title('Phase');
Если тебе нужна информация по определенной частоте, то формула проста = (точка на шкале Х)*(Fs/2)/pi

Fs - это частота дигитизации (сэмплинга) - короче не знаю как по русски.

Последний раз редактировалось crawler; 17.05.2005 в 16:47.
crawler вне форума