Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2013, 15:48   #11
dar3dev1l26
Пользователь
 
Регистрация: 06.10.2011
Сообщений: 58
По умолчанию

И еще я не знаю зачем нужна функция nfft, зачем центровать массив? Я так понял это мне не надо.
Вот формулы прямого

и обратного преобразования
dar3dev1l26 вне форума Ответить с цитированием
Старый 19.05.2013, 15:56   #12
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от dar3dev1l26 Посмотреть сообщение
Нету 20% искажений, я же писал выше.
Похоже, Вы не очень понимаете, о чем пишите.
Цитата:
Эти 20 процентов вносятся в фазу заукового отсчета, фаза может быть 0 .. 2*Пи,
Амплитуда тоже может быть от 0 до 1. Но это не значит, что произвольно меняя амплитуду Вы не изменяете сигнала.
Еще раз повторюсь: изменяя фазу, Вы вносите искажения в сигнал.
Это - факт, а не предмет для обсуждения.
Цитата:
В том-то и дело что всё сделано как надо, но на практике не работает.
Перечитайте эту написанную Вами фразу.
Как Вы сами думаете, так бывает.
А если нет, не следует ли из этого, что ошибка в Ваших рассуждениях находится где-то раньше? Например там, где Вы решили, что можно безболезненно менять фазу сигнала?
Цитата:
Я на погрешность никак не могу повлиять, на нее влияют как я понял только погрешности компьютерных рассчетов. В чистой математике никакой погрешности бы небыло. Я думаю дело в том, что у меня аудиоданные типа short (2^16 битовое целое), думаю если бы это было, к примеру 2^8 битовое целое таких погрешностей бы небыло.
Как раз это легко проверить.
И, мне кажется, для Вам это было бы полезно.
По крайней мере, Вы будете точно знать, верно ли это Ваше предположение.
Советую только проверять кроме уменьшенной еще и на увеличенной точности. Например, на 10-байтовых вещественных отсчетах (в С, кажется, long double).
s-andriano вне форума Ответить с цитированием
Старый 19.05.2013, 16:03   #13
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от dar3dev1l26 Посмотреть сообщение
Я проверял прямое и обратное преобразование, например если я создаю массив {1,2,3,4}(я и большие создавал), то после прямого и обратного преобразования получал тот же массив ({1,2,3,4}). Я думаю всё работает правильно.
Не зная способа проверки, нельзя сказать, правильно ли Вы эту проверку сделали.

Насколько я понимаю, проверить можно двумя путями:
1. Вывести аналитически. Но с учетом погрешности округления это становится практически неподъемной задачей.

2. Проверить на примерах. Но для этого перечень примеров должен быть составлен так, чтобы проверить все возможные ошибки. 1, 2 или даже 10 различных примеров еще не гарантируют, что программа будет корректно работать во всех случаях.
Собственно, Вы и сами упоминали, что Ваша программа в некоторых случаях работает правильно, а в некоторых - нет. Это вполне согласуется с тем, что проверка не была всеобъемлющей.

Проверьте алгоритм хотя бы на синусоиде с частотой примерно равной 1/3 частоты дискретизации.
s-andriano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Колонизация бассеина Ангары и всего Дальнего Востока - печальная перспектива к 2020 гому Virtson Свободное общение 2 17.03.2011 01:51
Конвертация аудиофайлов WAV -> WAV namestnik Помощь студентам 2 27.05.2009 23:05
Кодирование asil Помощь студентам 1 02.05.2009 20:48
Кодирование Mss_Smith Помощь студентам 3 17.04.2007 14:46