Автор |
Сообщение |
|
Дата: 25 Фев 2013 01:47:58
#
Там только начало и конец не совпадут, границы цикла не доделаны и может быть несоответствие в несколько отсчетов. Сигнал удаляю, здесь в файлах он совсем не нужен.
|
|
Дата: 25 Фев 2013 01:48:20 · Поправил: Sinus (25 Фев 2013 01:49:20)
#
|
Реклама Google
|
|
|
Дата: 25 Фев 2013 02:01:36 · Поправил: Programmist (25 Фев 2013 02:12:21)
#
С ФНЧ у меня нет, надо разобраться, каким-то образом до того сделал IQ, который сразу демодулировался без хвоста.
Вот он. Только там дискрет выставлен неверно. Такому сигналу фильтрация не нужна, по краям все чисто. Не могу вернуть то, каким образом он был получен, ладно, бог с ним. Если конвертация из Real в IQ получилась правильная, значит можно делать ФНЧ для комплексного сигнала. |
|
Дата: 25 Фев 2013 02:11:44 · Поправил: Sinus (25 Фев 2013 02:15:02)
#
Хорошо, тогда пока отложим... (до завтра/послезавтра) Пока что, "комплексным сдвигом спектра" Вы получили хороший iq-сигнал. Теперь надо реализовать одинаковую НЧ-фильтрацию этих обоих каналов (можно их по очереди фильтровать как обычный моно-сигнал, лишь бы совершенно одинаково) - это и будет iq-сигнал, как бы извлечённый из исходного, в котором в общем случае могло быть много "радиостанций".
Вот он.
Скачал, удаляйте, завтра посмотрю после работы (И всем спок. ночи. :)
|
|
Дата: 25 Фев 2013 02:15:02 · Поправил: Programmist (25 Фев 2013 02:17:49)
#
Да, надо отложить, а то так сразу сложно все делать в онлайн. Думаю, что разберусь потихоньку. Примеры теперь есть, главное ничего не потерять.
Сигнал удаляю, спасибо Вам. Спокойной ночи.
|
|
Дата: 25 Фев 2013 02:27:50
#
Вот он - с тем дискретом (8 кГц) в нём после демода нет частот выше ~ 1 кГц. А какой в нём дискрет надо выставить - не ясно. Да, не будем торопиться, откладываем.
|
|
Дата: 25 Фев 2013 13:23:27 · Поправил: Programmist (25 Фев 2013 15:51:33)
#
Sinus
На вторые сутки начинает доходить. Файл, который я Вам прислал (IQ_privet.wav), это не IQ. Все, уто угодно, но только не IQ, так как содержит в себе данных в два раза больше, чем нужно. Конечно, его можно отфильтровать, сделать децимацию и т. д. Мне кажется, что конвертер из Real в IQ нужно делать по принципу, как у нас сделан IQ2R, только в обратную сторону. Тогда все получится хорошо, за исключением небольших потерь по краям и в середине спектра.
Спешить здесь не стоит. Пока буду думать. Хранение данных в IQ формате дает огромное преимущество в плане обработки, с другой стороны требует больших затрат на получение конечного или промежуточного результата (просто послушать сигнал).
А ошибка в моей демодуляции понятна. Не понятно только почему вообще она получилась не из IQ, а из двух идентичных реальных сигналов, где данные взяты через один отсчет.
В качестве иллюстрации к умозаключениям здесь положил небольшой архив, где видно, что дала формула:
A[n] := R[n] cos(2пи f n)
B[n] := R[n] sin(2пи f n)
И что хотелось-бы получить с минимальными затратами по времени на обработку. Файл IQ в архиве получен путем инверсии и тройной конвертации IQ2R.
з.ы.
С другой стороны, если посмотреть внимательно, то потери при таком преобразовании все равно есть, имхо теряется фаза сигнала:
Данный вопрос требует более внимательного изучения, т. к. эти потери могут быть и при отображении картинки спектра.
Есть и некоторые приятные моменты. В конструкторе сигналов, который пока в зачаточном состоянии, можно нарисованный сигнал сразу сохранить в IQ, далее получить из него FM или PM, по желанию, но до этого еще далеко. :)
з.ы.ы.
И еще есть один такой момент: Из файла, который не IQ, бегемот собирается обратно без всяких потерь и полос по центру, да вот только сдвиг вниз и децимация, необходимые для возврата несчастного в исходное состояние делают свое грязное дело.
Вот и не могу решить, какое из этих двух зол наименьшее. Что-то тут не так, как должно было-бы быть. |
|
Дата: 25 Фев 2013 20:45:28 · Поправил: Programmist (25 Фев 2013 20:45:38)
#
Ну, вот и сделал я демодулятор. Версия 55.
В конце концов, пользователю совсем не обязательно знать, что там внутри этой программы происходит. Указанная выше проблема с размерностью IQ массива осталась.
На кнопках |< и >|под плеером работает правая кнопка мыши, чтобы позиционировать метки времени в начало или конец записи.
|
|
Дата: 25 Фев 2013 22:29:21 · Поправил: RadioKoteg (25 Фев 2013 22:44:03)
#
|
|
Дата: 25 Фев 2013 22:51:16
#
RadioKoteg
Дискрет на выходе зависит от изначальной ширины прямоугольника, которым выделяем сигнал. Если вышло на выходе слишком много, то его можно еще раз уменьшить кнопкой "CSR" (не "ASR"), но лучше сразу выделять точнее. А с этой записью я вообще не понял, зачем ее целиком в ЧМ декодировать, там ниже еще какие-то тетки-практикантки в SSB сидят.
|
|
Дата: 25 Фев 2013 22:52:47 · Поправил: RadioKoteg (25 Фев 2013 22:56:18)
#
|
|
Дата: 25 Фев 2013 23:01:32 · Поправил: Programmist (25 Фев 2013 23:04:40)
#
Там многоканалка
Понял. :) Да, есть шумовой окрас. Не знаю, вроде все сделано по классическим формулам, скорей всего в HDSDR демодулятор другой и фильтры какие-то установлены.
придумать методику тестирования точности ЧМ
Надо. Пока это так сказать "первый блин", а дальше буду разбираться. Мне все равно нужен ЧМ-модулятор, для рисования сигналов.
|
|
Дата: 25 Фев 2013 23:03:34
#
Programmist Ясно, значит разные фильтра. Возможно ваш лучше. Это уже надо думать как выяснить что лучше. Может записать WFM вещалку с поднесущими стерео каналов?
|
|
Дата: 25 Фев 2013 23:07:06
#
RadioKoteg
Боюсь, что стерео не получится, хотя кто его знает, если будет запись, то это уже не плохо, можно будет и ее покрутить, глядишь и выйдет что.
|
|
Дата: 25 Фев 2013 23:08:12
#
|
|
Дата: 25 Фев 2013 23:13:04
#
Попробуйте просто WFM демодулировать, у меня не получилось, шум. Видно что-то не так сделал.
|
|
Дата: 25 Фев 2013 23:18:45 · Поправил: Programmist (25 Фев 2013 23:21:46)
#
Спасибо, буду разбираться. Слышно отлично, но очень широкая полоса.
А такого понятия, как WFM пока тут нет, просто частотный детектор, на всю ширину, сколько есть.
|
|
Дата: 25 Фев 2013 23:25:45
#
|
|
Дата: 25 Фев 2013 23:31:29 · Поправил: RadioKoteg (25 Фев 2013 23:31:54)
#
|
|
Дата: 25 Фев 2013 23:31:45 · Поправил: Programmist (25 Фев 2013 23:35:52)
#
RadioKoteg
NVidea CUDA, В следующей жизни :))
А вещалки прекрасно режутся под дискрет 30КГц, только моно, естественно. Кстати, шума там немного, похоже, что это уже их собственные студийные шумы.
|
|
Дата: 25 Фев 2013 23:35:58 · Поправил: RadioKoteg (25 Фев 2013 23:48:54)
#
упс, у меня не получается, в результате белый шум но на спектре вроде музыка. Когда делаю запись и потом читаю на экране белый шум.. У нас пробегала эта же ошибка. она была связана с битностью записи и кажеться с неправильными переменными, не помню. Был пункт в меню сохранить в нашел где это.. Во пишу в 32 float все ок с пектром но в наушниках шум белый.
|
|
Дата: 25 Фев 2013 23:47:56 · Поправил: Programmist (25 Фев 2013 23:51:26)
#
Там надо после демода все, что выше линии отрезать, или сразу CSR на 18КГц.
И амплитуду надо сбросить процентов на 70-80. Что там выше 18-ти, я не знаю, пока не разбирался, может быть информация для стерео сигнала. |
|
Дата: 25 Фев 2013 23:49:46
#
Programmist то ж я делаю а в ушах шум...
|
|
Дата: 25 Фев 2013 23:51:17 · Поправил: RadioKoteg (25 Фев 2013 23:51:58)
#
И амплитуду надо сбросить процентов на 70-80. ага точно.. Все вкурил. Надо понимать этот ньюанс что нет нормализации уровня. Может так и правильно.
|
|
Дата: 25 Фев 2013 23:54:27 · Поправил: Programmist (25 Фев 2013 23:56:41)
#
Картинку еле загрузил. У меня ее программа просмотра кверху ногами перевернула, ну все, думаю, докрутился спектров, пора завязывать на сегодня. :))
А амплитуду всегда надо нормализовать перед сохранением, особенно в 16 бит, иначе малые уровни потеряться могут.
|
|
Дата: 25 Фев 2013 23:54:32 · Поправил: RadioKoteg (26 Фев 2013 00:02:47)
#
|
|
Дата: 26 Фев 2013 00:00:21
#
RadioKoteg
Опять куча формул. Тут я без Sinusа не разберусь. Ладно, пойду отдыхать, что-то устал сегодня. Доброй ночи!
|
|
Дата: 26 Фев 2013 00:48:45 · Поправил: RadioKoteg (26 Фев 2013 01:13:14)
#
|
|
Дата: 26 Фев 2013 01:07:59 · Поправил: Sinus (26 Фев 2013 01:09:40)
#
Programmist
Файл, который я Вам прислал (IQ_privet.wav), это не IQ. Все, что угодно, но только не IQ, так как содержит в себе данных в два раза больше, чем нужно.
Не важно, как его называть; главное - что он годится для проверки формул демодуляции. Целью здесь был сдвиг спектра, а не разработка преобразователя R 2 I/Q. Спектр же сдвигают умножением сигнала на комплексную экспонету. Так вот, полученные по нашим формулам из R[n] два массива A[n] и B[n] - это ни что иное как реальная и мнимая части сигнала R[n], умноженного на комплексную экспоненту. При желании их вполне можно назвать IQ-сигналом, потому что правда заключена вот в этих золотых словах, запечатлённых в славной истории данного топика:
I/Q то они разные бывают
(с) Mesh
I - реальная часть комплексного числа, Q - мнимая, все остальные сущности лишние.
(с) petr0v
|
|
Дата: 26 Фев 2013 01:10:03 · Поправил: RadioKoteg (26 Фев 2013 02:41:14)
#
|
Реклама Google |
|