imho.ws |
![]() |
![]() |
![]() |
# 1 |
Junior Member
Регистрация: 23.04.2004
Адрес: Саров
Сообщения: 67
![]() |
Нужна помощь в работе с MathLab 6.1
Мне нужна помощь в работе с .wav файлами. Вставить файл с расширением .wav и получить в MathLab его спектр для дальнейшей работы с ним. В том числе и Фурье анализ. Кучу книг перерыл, но ничего так и не нашел для работы с этим. Слёзно умоляю мне помочь. Возможно и для MathCad 2000.
|
![]() |
![]() |
# 2 |
Full Member
Регистрация: 11.12.2002
Сообщения: 864
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Да запросто.
Код:
[y,Fs,nbits] = wavread('mywavfile.wav'); sound(y,Fs) Y=fft(y); plot(abs(Y)); |
![]() |
![]() |
# 3 |
Junior Member
Регистрация: 23.04.2004
Адрес: Саров
Сообщения: 67
![]() |
Хех... все конечно хорошо если бы я разберался в этом пакете и знал математику. Но проблема заключается в том, что я абсолютно не знаком с данной областью. А руководителю нужно что я сделал проект в этой среде. Мне проще сделать в Си, но против начальства не попрешь.
Дело в том что мне нужно wav файл разложить по Фурье, получить графики (спектр) и таблицу значений. Можно мне подробно расписать что к чему? |
![]() |
![]() |
# 4 |
Junior Member
Регистрация: 23.04.2004
Адрес: Саров
Сообщения: 67
![]() |
Люди!!! Очень прошу!!! Помогите бедному студенту... Дайте код в матлабе чтобы файл wav'ский(Звукозапись в формате wav 22 050 Гц; 8 бит; Моно) раскладывал по быстрому преобразованию Фурье с графикой и табличными значениями... а то ну никак... пожалуйстаааа.
![]() Последний раз редактировалось Lolek; 20.04.2005 в 15:57. |
![]() |
![]() |
# 5 | |
Newbie
Регистрация: 11.09.2004
Сообщения: 44
![]() |
Цитата:
А приличный график можно получить, немного изменив код crawler: Код:
N=1024; %количество точек БПФ Y=fft(y,N); X=0:22050/(N-1):22050; %Шкала частот plot(X,abs(Y)); |
|
![]() |
![]() |
# 8 |
Full Member
Регистрация: 11.12.2002
Сообщения: 864
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
У вас, батенька, проблема не только с Матлабом, но и с понятием что делать - а это самое плохое. Советую почитать книжки по 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 - это частота дигитизации (сэмплинга) - короче не знаю как по русски. Последний раз редактировалось crawler; 17.05.2005 в 15:47. |
![]() |
![]() |
# 9 |
Full Member
Регистрация: 11.12.2002
Сообщения: 864
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
В связи с большим количеством вопросов в личку, читайте http://www.ele.uri.edu/~hansenj/projects/ele436/fft.pdf , а если что будет непонятно - спрашивайте.
|
![]() |