На главную страницу сайта
· Наш магазин · Объявления · Рейтинг · Статьи · Частоты · Копилка · Аэродромы · Live!
· Файлы · Диапазоны · Сигналы · Музей · Mods · LPD-форум · Клуб · Радиостанции
На сайте: гостей - 39,
участников - 5 [ starche, SLB_MN, muha131, wazzoo, John79]
 · Начало · Опросы · События · Статистика · Поиск · Регистрация · Правила · FAQ · Галерея ·
 Форум —› Программное обеспечение —› Простой пример модели SDR I/Q в Mathcad 
Новая линейка радиостанций Hytera в нашем магазине


Hytera TC-320
руб.

Hytera TC-508
руб.

Hytera TC-580
руб.

Hytera PD-355
руб.

Hytera X1E
руб.
 Страница:  1  2  3  »»Поиск в теме
Автор Сообщение
alt
Участник
Offline2.8
с авг 2009
Украина
Сообщений: 509

Дата: 20 Май 2011 02:08:54 · Поправил: alt (20 Май 2011 17:51:07) #  

1) Результат расчета - графики


2) Скачать исходник
Файл mcd в архиве zip для старенького Mathcad 7.0 (подойдет и под более поздние версии Mathcad), 5 KB:
http://www.radioscanner.ru/uploader/2011/sdr_05.zip

Собственно Mathcad - это такая программа, позволяет делать разные математические расчеты, в том числе и по цифровой обработке сигнала. Что бы её использовать не надо быть программистом - по сути пишешь формулу и она считает.
Скачать можно тут, 25 MB:
http://alt.inf.ua/files/mathcad_7_short.zip

3) Суть расчета
Задаем простой сигнал, для примера - просто несущую и немного шума.
Рассчитываем что можем (формулы прям из учебника), выводим на графики.

4) Суть примера
SDR софты красиво рисуют спектры сигналов и частотно-временные диаграммы. Однако, это далеко не все что можно и нужно отображать. Например, временная развертка принимаемого сигнала (по сути, осциллограмма) позволяет судить о его виде модуляции и характеристиках.

5) Цели автора
- получить некую демонСтрашку по теме, что-то на стыке математики и радио;
- постепенно дописать до хорошего примера, а то если все и сразу - текст малопонятный выйдет;
- привести правильный пример использования комплексного БПФ (FFT) в Mathcad (в инете не нашел, примеры использования функции Mathcad CFFT сплошь публикуют неправильные - на вход подают "не комплексный" сигнал (массив действительных чисел) или половинки спектра потом местами не меняют, и того рисуют на выходе бесполезную симметричную картинку которую никак не объясняют).

7) Вопросы
Пример несложный, пока содержит несколько недоработок - кто укажет каких?
Тут даже знакомства с маткадом не надо, формулы и графики вроде понятные с виду.

8) Текст примера


9) Комментарии к тексту примера
- в Mathcad неудобно писать комментарии, поэтому таковые будут приведены здесь;
- тексты Mathcad крайне лаконичны, на любом языке программирования подобный расчет бы занял несколько страниц текста программы (с учетом вывода графиков);
- чтобы просмотреть в среде Mathcad работу примера в анимации, следует установить курсор на выражение n(ns):=rnd(ns) - ns/2 (вторая строка, третья формула) и зажать клавишу F9.
Дело в том, что в примере шум имитируется с использованием генератора случайных чисел (функция rnd). К сожалению, в Mathcad нет функции инициализировать это rnd заново каждый раз при расчете, вместо этого - только возможность сделать подобное, установив курсор на функцию rnd и пересчитав заново (F9). Да, анимация сводится к изменению случайного шума, однако пример выглядит куда веселее - спектр как живой;

строка 1:
- в первой строке указаны исходные данные, то что смело меняем со знанием дела;
- N:=1024 - это длина нашей выборки (оцифрованного сигнала), оно же - число точек при дальнейшем расчете спектра. Допустимы числа типа степеней двойки (16, 32, 128, 512, 1024 ... и т.п.) - иначе спектра не будет; это ограничение реализации БПФ в Mathcad, хорошие же алгоритмы считают массив любой длины ... но быстро считают все равно только массивы с длиной типа степень двойки;
- fd:=48000 (Гц), частота дискретизации 2-х канального АЦП в схеме SDR с нулевой ПЧ (пример - РПУ SoftRock и им подобные), она же - полоса обзора в спектре.
Для SDR схем с прямой оцифровкой высокочастотным АЦП (пример - РПУ Perseus, QS1R) - пускай это будет полоса I/Q сигнала после фильтров до цифровых демодуляторов, хоть и не каждый софт отображает этот сигнал, но в схеме РПУ он есть;
Для примера берем полосу самой обычной звуковой карты - 48 КГц. У кого есть звуковая карта MAudio - ставим 198 КГц, а кто использует QS1R с программой WinRad - смело ставим аж 1.2 МГц :))

- fs:=500 (Гц) - частота сигнала который генерируется для примера; допустимо от -fd/2 до fd/2 (то есть от -24000 до 24000 в примере).
К сожалению, если частоту задать выше или ниже полосы обзора появляются артефакты в спектре (копии сигнала), причем их амплитуда такая же как у сигнала (!?). Возможно следует реализовать ФНЧ на входной сигнал (в реальной схеме с звуковой картой таковым фильтром является аналоговый ФНЧ на входе звуковой карты, а при цифровой раскладке на квадратуры используют хорошие цифровые фильтры на полученные сигналы I/Q);

- ns:=0.3 - коэффициент шума в каждом канале который подмешиваем в сигнал, при амплитуде сигнала в каналах I и Q =1 . Ставить от 0 (будет просто несущая, без шума) и выше аж до 20, далее сигнал не будет виден на спектре, потеряется в шумах. Для повышения чувствительности схемы можем увеличить длину выборки N, она же - число точек БПФ.

строка 2:
- вспомогательные определения, вычисления и функции;

строка 3:
- формируем сигнал в каждом канале на основе функций sin и cos (просто несущая частота + шум);
Собственно здесь бы следовало на выбор создать имитацию нескольких сигналов - AM, NFM, SSB, CW и прочих с заданием их параметров (коэффициента амплитудной модуляции, девиации для ЧМ и т.п). А также позволить генерировать сумму нескольких сигналов для имитации реального эфира.
Ага, еще импульсных помех добавить бы, нестабильность несущих у передатчиков, переходные процессы при включении таковых и предусмотреть зашкал приёмника и аттеннюатор у приёмника :))
Проще в Mathcad через текстовый файлик загрузить фрагмент I/Q записи реального эфира.

строка 4:
- Вычисляем функции: амплитуда z, фаза p;
Один из недостатков этого расчета - фаза считается примитивно, от -90 до +90 градусов, а следует подправить на -180 .. +180 градусов. При этом на графике фазы при неточной настройке на несущую частоту получится семейство наклонных линий. Они не являются "однозначной" функцией (или как называется, когда для одного x есть множество y?).
И того на графике приходится рисовать эти значения точками.

строка 5:
- Задаем комплексное представление сигнала х (x=a+j*b, это Mathcad наше j пишет как i, не путать с переменной i), получаем массив комплексных чисел, для которого и
расчетываем БПФ функцией cfft, на выходе получаем массив тоже комплексных чисел c1;

строка 6:
- меняем половинки спектра местами, чтобы центр был по центру а не с краю. Это особенность многих реализаций БПФ, Mathcad тут не виноват.
Графиком спектра является массив модулей комплексного числа, так же как рассчитывали график амплитуд.

Ну и ниже по рассчету - собственно графики.

10) Перспективы
Вот так потихоньку можно дойти и до демодуляции сигналов в заданной полосе.
Конечно это была бы штука непрактичная, на работу в реальном времени рассчитывать не стоит, разве что на обработку небольших файлов.
Однако для примера реализации вполне сгодилась бы.
alexis69
Участник
Offline3.1
с окт 2007
Городец
Сообщений: 1878

Дата: 24 Май 2011 15:18:57 #  

Очень интересно.
А продолжение будет?
С фильтрацией и демодуляцией, ам, чм/фм, ssb мод
С возможностью загрузить звуковые файлики
Короче, полностью перевести в Mathcad sdr приемник.
Реклама
Google
alt
Участник
Offline2.8
с авг 2009
Украина
Сообщений: 509

Дата: 24 Май 2011 23:43:52 #  

alexis69
Так и хотелось бы продолжения ... но чего-то не подошли в эту тему пока монстры цифовой обработки сигналов Радиосканера (есть, есть такие тут), которые могли бы (без привязки к Маткад) грамотно обругать моё творчество. А обругать есть куда :))
Идея поста - вместе сотворить заявленное, если я соло сотворю готовый правильный файлик - в нём черт ногу сломает, если учесть все нюансы.

Чуть позже допишу. :))
alexis69
Участник
Offline3.1
с окт 2007
Городец
Сообщений: 1878

Дата: 25 Май 2011 07:21:53 · Поправил: alexis69 (25 Май 2011 07:46:15) #  

Да, неплохо было бы, если монстры подтянуться.
И сообща родится полная математическая модель приемника.

1) Кстати. а результаты из матчкада можно использовать как базу или для облегчения программирования ПЛИС?

2 Вообще - интересует вопрос по использованию моделей созданых в матчкаде, симулинке, лабвиве и пр., для программирования dsp и плис.
Что подобное где то упоминалось.
Вроде бы.

3 Встречалось упоминание что модель приемника создана в симулинке (это надстройка над матчкадом) и в среде лабвив.

p.s. конечно, по теме - только создание математической модели,
а для рассмотрения практического применения модели в проектировании/ программировании, наверное можно будет создать отдельную тему.
alt
Участник
Offline2.8
с авг 2009
Украина
Сообщений: 509

Дата: 25 Май 2011 10:42:23 #  

К сожалению я не занимался программированием под FPGA и DSP.
Похоже что алгоритм расчета из маткада не экспортируется, да и вообще маткад какой "слабо детерминированый" что ли - например, результаты расчета зависят от положения операторов на листе (!) - передвинул формулу чуть вверх - и вышла ошибка. Может это мои личные проблемы, но на на Pascal у меня получается просто писать, а с Mathcad я долго мучаюсь чтоб задуманные три строки формул заработали (и в Mathcad я полез вообще с целью его сыну по учебе применить).
"Mathcad - программа для студентов, курсовики считать" :))
Вот Матлаб кажется все написанное в нем умеет транслировать в текст на языке C, а по идее текст на C можно адаптировать под любой DSP.

В указанных Вами примерах, скорее люди просто создавали модель, не экспортируя потом расчет в программы контроллера, DSP, FPGA.
Знал я одного электронщика, так он перед тем как включить паяльник расчитывал схему в трех разных программах (!), на вопрос зачем так сложно объяснил что так проще - каждая программа врет по своему, и только обойдя неудачно реализованные алгоритмы в каждой программе появляется уверенность что схема в железе заработает как задумано.

Сначала буду пытаться изобразить модель простейшего SDR приемника (типа SoftRock и ему подобные, те что с звуковой картой), потом можно добавить перестройку по частоте, диапазонные фильтры и т.п. То что изображено сейчас - это как бы кусок из середины приемника, место в тракте от "после звуковой карты" до "график спектра".
Для приёмника с прямой оцифровкой все сложнее, интересно, потянет ли Mathcad обрабатывать большие массивы.
petr0v
Участник
Offline2.3
с мая 2010
Balakhna
Сообщений: 412

Дата: 25 Май 2011 13:25:37 #  

Маткад хорошая штука, не только для студентов, можно серьёзные рассчёты делать, а главное нотация близка к естественной, самодокументируемость, один живой хелп чего стоит, самому или другому человеку потом легче с маткадовским листком разобраться чем с кодом на С или матлабовским скриптом. Но для простейших моделек демодуляторов я всё же советовал бы симулинк, нагляднее там получаются блок-схемы и динамичекое поведение наблюдать. На счёт автоматического перевода в FPGA и т. п. чего-то сложнее студенческих примеров, не стоит в сказки верить, серьёзные вещи вручную делаются, мтакады, матлабы для осмысления теории предназначены.
Igor 2
Участник
Offline2.0
с авг 2006
analogtrx.com
Сообщений: 2697

Дата: 25 Май 2011 13:28:27 · Поправил: Igor 2 (25 Май 2011 13:36:42) #  

результаты расчета зависят от положения операторов на листе (!) - передвинул формулу чуть вверх - и вышла ошибка.

Всё верно. Маткад считает сверху вниз и слева направо. Я не экспериментирую, и делаю сверху вниз. Тогда работает корректно. Что и Вам рекомендую.

SS_SerG
Участник
Offline1.3
с мая 2010
nr. Хабаровск
Сообщений: 44

Дата: 25 Май 2011 15:27:42 · Поправил: SS_SerG (25 Май 2011 15:33:32) #  

To alt
Прошу меня простить, что беспардонно вламываюсь в Вашу тему, но хотел бы показать свои "наработки" в области моделирования "цифрового" прямого преобразования.
Формулы из Маткада приводить не буду, это отдельно выложить могу, покажу только графики и опишу..

1. Взял сумму из 5 сигналов 2.000 МГц + 2.001 МГц + 2.004 МГц + 2.006 МГц + 2.036 МГц
По существу это перенесенный НЧ сигнал на 2 МГц "вверх" состоящий из 0, 1, 4, 6, 36 кГц (думаю здесь ясно)



2. Картинка в увеличенном виде, чтоб было без обмана :))



3. Далее произвел процесс дискретизации, частоту дискретизации выбрал подальше от Котельникова.. :))
30 МГц



4. Для того, чтобы осуществить преобразование вниз, смоделируем прохождение исходного сигнала через квадратурный смеситель. Для этого возьмем два дискретизированных (с той же частотой 30 МГц) синуса, смещенных друг от друга на 90 гр. (опять же, думаю пояснять не нужно). Частота гетеродина (синусов) выбрана 1.999 МГц, для того чтобы преобразовать исходный сигнал состоящий из 2.000, 2.001, 2.004, 2.006, 2.036 МГц соответсвенно в 0.001, 0.002, 0.005, 0.007, 0.037 МГц. Т.е. перенести в область слышимых НЧ частот.
Примерно так выходит: частоты составляющие исходный сигнал - частота гетеродина = частоты составляющие низкочастотный сигнал. Зеркальный канал пока не учитываем, т.к. он при данном "раскладе" не играет роли.



5. Перемножаем (смешиваем) дискретизированный ВЧ сигнал и дискретизированный синус (0 гр), Перемножаем (смешиваем) дискретизированный ВЧ сигнал и дискретизированный синус (90 гр).
Получаем I и Q в первом приближении. На рисунках неувеличенный и увеличенный варианты.




6. С помощью цифрового ФНЧ фильтруем полученные I и Q (на картинке I). Для примера я выбрал 17-го порядок фильтр, можно и 9 порядка конечно, но 17 интереснее.. На рисунках неувеличенный и увеличенный варианты.




7. Далее. Так как частота дискретизации у нас по прежнему 30 МГц, то необходимо ее понизить.. Смысл в такой высокой частоте для НЧ сигнала?... Делаем децимацию, т.е. прорежение сигналов с предыдущих картинок. Для примера я сделал прорежение так - взял каждый 64 отсчет, остальное выкинул.. т.е.уменьшил частоту дискретизации в 64 раза.



Вот такой получился сигнальчик..

В данном примере не образовался зеркальный канал и поэтому не проводилось его подавление.. Да и на самом деле преобразования Гилберта пока не осилил.

Так думаю, что данный пример показал процесс демодуляции SSB сигнала в общем виде (опять же уточню не выделяя верхнюю или нижнюю полосу)
alexis69
Участник
Offline3.1
с окт 2007
Городец
Сообщений: 1878

Дата: 25 Май 2011 16:18:07 #  

Такой вопросец.
Какова практическая ценность приведенных выше моделей и фрагментов моделей?
Что нам даст цифровая модель в Маткаде?
alt
Участник
Offline2.8
с авг 2009
Украина
Сообщений: 509

Дата: 25 Май 2011 20:03:03 · Поправил: alt (26 Май 2011 00:05:19) #  

SS_SerG
Пример прямо в тему (!!!), ( 100% попадание с первой попытки :)), огромное спасибо. Я только собирался что-то подобное сочинять, просто приуныл немного - тема по началу имела нулевой отклик.
Возможно выложить .mcd файл?

Юмор по теме (да забанят меня админы за сленг, неформатную лексику и оффтоп в собственной теме; но может быть и пожалеют): В Хабаровске наверное скоро утро. Не дождался я файла с исходником, у меня же только вечер (на юге Украины уже лето по полной кстати, миниюбки и все такое); и думая по сабжу "моделирование SDR в Mathcad" я таки сходил за пивом (отпуск только раз в году бывает). И того лирика:
Проработка SS_SerG очень хороша как пример, но не столь же эксклюзивна чтобы прятать исходник от общественности? :)) Попов, например, сразу опубликовал результаты своих нехитрых экспериментов, чем и изменил путь развития цивилизации :)) Только не будем тут ругать Маркони, коммерческое внедрение технологии и популяризация идеи штуки непростые, как раз и предполагают эксплуатацию чужих идей :))
Кстати об идеях. При хорошей проработке алгоритма (обсуждение, доработка, проверка многими людьми, и таки комментарии по тексту на английском) можно итоговый результат выложить в коллекцию Mathcad-примеров, по слухам у них есть такая.

Нефильтрованные мысли по ходу (могу местами ошибаться):
- ПЧ нестандартная (стандартные: ... , 455 КГц, ... 10.7 МГц, 21.4 МГц ... 38 МГц(ТВ)). Это к тому, что свой итоговый пример мне хотелось бы подтянуть к реалиям жизни, прописав только конкретные обоснованные цифры; даже бы разрядность АЦП внести, ну и шумы в младших разрядах, и т.п.
- как эти приёмники называют когда ПЧ изрядно выше принимаемой частоты? сверхрегенеративные? вот у них зеркального канала по определению нет, тут вроде такой ... модная штука, где же товарищъ belkin, он это любит ...
- не понял где тут имитация SSB, на входе набор несущих же, пускай и близких по частоте, на выходе - огибающая суммы ... промодулировать бы на входе несущую хоть тональным сигналом ... или нет разницы между суммой таких несущих и АМ модуляцией тональным сигналом? (на слух таки да, в приёмнике будет пищать разностная частота) ... а, все равно, для моделирования SSB надо бы после АМ модуляции задавить несущую и пол полосы ...
- графики комплексного спектра бы добавить из I/Q для визуализации ... (ну это я о своем примере снова, хотя для SDR спектр - то что надо ... короче надо объединять два примера , это по теме данного топика);
- а вот приведенным графикам с временной разверткой сигнала должен бы позавидовать каждый SDR-софт (нервно отойти и покурить в сторонке:))) Пока SDR-щики вроде как не понимают меня в этом вопросе, однако у меня есть опыт эксплуатации схем где временная развертка отображалась в реальном времени постоянно - полезная штука, глядя на серию графиков (типа таких как в начале топика, только красивее) намного лучше сходу понимается вид модуляции сигнала чем просто по спектру; вот даже I/Q надо рисовать и привыкать к его виду - в нем же полный радиосигнал;
- фильтры 17-го порядка как делали? КИХ, БИХ? исходник надо !
- дискретизированный синус (90 гр). обзовем косинусом, он не обидится ...
- интересно, в конце расчета, между применённым тупо прореживанием и усреднением соседних отсчетов (или усреднением скользящим окном) будет разница? ... вот почему-то это волнует, хочу выяснить.

В общем прошу файл, очень охота покрутить (даже передрать и применить, по теме топика конечно :))

Абстрактно выражаясь:
То что изображено сейчас - это как бы кусок из середины приемника, место в тракте от "после звуковой карты" до "график спектра".
А в Вашем примере кусок поболее - "от антенны" и почти до "наушников".

Могу наваять на Delphi конвертер "Mathcad" - "Наушники" ("wav файл").
А потом конвертер "I/Q запись" - "Mathcad"

Делать?


alexis69
Практическая ценность пока никакая, таки выходит математика, обсуждение теории.
Возможные пользы:
- обучаться можно, моделировать.
- для владельцев SDR приёмников должно быть интересно "как это устроено" и "что будет если вот тут поменять" и т.п.
- отмоделировав желаемый алгоритм, можно давать его любому среднему по талантам программисту (редкий обычный программер соображает в этой "химии" поначалу) со словами "вот сделай мне так". Причем разрабатываемый софт уже есть чем проверить, подавая на вход одни и те же данные на выходе должны получить одинаковый результат, если не выходит - пройтись по этапам глядя на промежуточные результаты. Проверено, хороший метод.
"Моделирование - один из инструментов разработки" :))

Полезная модель* в общем.

А в итоге, если сделаем подачу на вход расчета фрагмента настоящей I/Q записи, а на выходе умудримся выдать звук на динамик (это возможно) - получите обработчик сигнала в котором можно "покрутить" в каждом месте тракта.
Это очень полезно если лень включать паяльник или сочинять "с нуля" прогу для DSP:))

Например практической задачей может быть такое: вытащить полезный сигнал из конкретных I/Q записей лучше чем другая популярная программа.

Прим.
* термин "полезная модель" применяется в патентном праве :))


petr0v
я всё же советовал бы симулинк
Заинтриговали. Где скачать этот Симулинк? Если в архиве невелик, может выложите где нибудь?

Igor 2
Если не секрет, что считали такими "страшными" формулами (на jpg картинке не понятно)?
petr0v
Участник
Offline2.3
с мая 2010
Balakhna
Сообщений: 412

Дата: 25 Май 2011 23:53:43 #  

alt Симулинк часть матлаба, архив большой, матлаб широко используется в разработках в области цифровой обработки сигналов, на торрентах дистрибутив можно найти, пользуюсь версией R2010a, есть более свежие.
alt
Участник
Offline2.8
с авг 2009
Украина
Сообщений: 509

Дата: 26 Май 2011 00:41:41 #  

petr0v
О, ссори, теперь я нервно курю в сторонке :)) Матлаб наблюдал краями, проникся к нему уважением за интеграцию с Си, за дофига возможных дополнений касательно 3D графики и прочего (да там по ходу все возможно, практически стандарт на математику), в целом серьезный инструмент - который и требует не менее серьезного изучения.

Однако вопрос выкладывания дистрибутива не глупый - одно дело послать человека в торренты и поисковые системы (куда еще дальше?), другое дело заделиться точно рабочей инсталяшкой с кряком прямо тут, не отходя от кассы. Ну и подсказать как поставить, если там есть подводные камни. Хотя бы из принципа необходимости популяризации обсуждаемой идеи.

Насколько большой архив? У меня на хостинге 1 ГБ свободного места ... при желании можно организовать и более. Да, пиратство, не спорю. В образовательных целях для некоммерческого использования. Прошу таки делать как я с Mathcad (ссылка на дистрибутив в 1м посте), вроде как сказав "Матлаб" - давать ссылку на возможность скачки инсталляшки. При таком подходе кто нибудь заинтересуется, что уже неплохо.

Однако (опять юмор) - "матлабу ниасилил, много букаф". Точнее - жизнь не заставила.

Предлагаю по теме топика таки следующее: берем инструмент попроще - Mathcad. И применяем его для реализации конкретной прикладной задачи. У Mathcad есть одна сильная сторона - отображение вычислений в почти понятных математических формулах (универсальный международный язык), что позволят рассмотреть вопрос людям которые по ряду своих причин с Mathcad не желают связываться.
SS_SerG
Участник
Offline1.3
с мая 2010
nr. Хабаровск
Сообщений: 44

Дата: 26 Май 2011 01:25:07 #  

Что нам даст цифровая модель в Маткаде?

Изначально, цифровая модель в Маткаде, а особенно самодельная, даст понимание сего процесса изнутри, что немаловажно, для каких то дальнейших телодвижений.

Возможно выложить .mcd файл?
Да, выложить возможно, но только после работы.. Да и с размером разберусь.. 3 метра попробую упаковать, в копилку еще не позволено мне большие файлы выкладывать. Если не получится, могу кому - нить на почту кинуть, чтоб залили сюда.
Пионерство еще никто не отменял ("разобрался сам - разбери друга") :))

В Хабаровске наверное скоро утро
Да да... именно.. а вот миниюбки и здесь такие же.. 28 градусов таки... :)

сверхрегенеративные?
Наверно путаете с супергетеродинами и двойным,тройным преобразованием?

а, все равно, для моделирования SSB надо бы после АМ модуляции задавить несущую и пол полосы ...
Нет, не только подавлением несущей.. можно фазовым методом. Рекомендую Полякова. У него хорошо описано.

не понял где тут имитация SSB
в эфире сигнал примерно так и выглядит, и демодуляция так и осуществляется, НО с одной оговоркой - верхняя или нижняя выделяется математически так I+jQ, I-jQ. j-мнимая единица. В Маткаде проверял - работает. Например в моем примере можно частоту гетеродина выбрать посредине "спектра", например 2.006 МГц и тогда зеркальный канал не заставит себя долго ждать. Если провести преобразование Фурье и посмотреть его модуль (амплитуды, оно же спектр) - Вы увидите что частоты которые должны были уйти в "минус" (прошу прощения за такие высказывания), "отразились" от нуля и вылезли в начале спектра, смешавшись с полезныи сигналом (хотя в данном случае вопрос - что для нас полезный сигнал, реальный или "отразившийся", то есть USB или LSB).

КИХ, БИХ? исходник надо !
КИХ фильтр, форму его АЧХ выбрал как полупериод синуса. Хотя пробовал и тупое усреднение, тоже работает, но с нюансами.. Здесь бы уже стоило почитать Лайонса, и читается легко и некоторый порядок в "антресольках" наводит.
SS_SerG
Участник
Offline1.3
с мая 2010
nr. Хабаровск
Сообщений: 44

Дата: 26 Май 2011 02:00:13 #  

Могу наваять на Delphi конвертер "Mathcad" - "Наушники" ("wav файл").
А потом конвертер "I/Q запись" - "Mathcad"

Делать?


А почему нет? Но видится ли на горизонте то, что можно уже послушать в наушниках?
alexis69
Участник
Offline3.1
с окт 2007
Городец
Сообщений: 1878

Дата: 26 Май 2011 07:48:57 · Поправил: alexis69 (26 Май 2011 07:57:34) #  

- а вот приведенным графикам с временной разверткой сигнала должен бы позавидовать каждый SDR-софт .... в реальном времени ... глядя на серию графиков .... намного лучше сходу понимается вид модуляции сигнала чем просто по спектру
???
Если Вы о водопаде (FFT).
То есть от том, что на рисунке ниже выполнено в сине желтых цветах, то это есть практически в любом sdr приемнике.

Увеличить

По этому водопаду (он действительно отображается в реальном времени) очень удобно идентифиировать тип сигнала (модуляция, и даже вид цифрового мода).
alexis69
Участник
Offline3.1
с окт 2007
Городец
Сообщений: 1878

Дата: 26 Май 2011 08:23:08 · Поправил: alexis69 (26 Май 2011 08:25:19) #  

А еще есть практическое предложение.
Даже два.
Началось обсуждение.
Подходят "зубры" и "зубрята" математического моделирования и маткада.
И начинают говорить на своем языке.
Щеголяя терминами делаю им понятные допущения и опуская детали.
А вот я простой крестьянин слушаю (читаю) и не понимаю.
То ли они ругаются, то ли ведут конструктивный диалог :).

Поэтому предлагаю, каждый маткадовский модуль подробнейшим образом комментировать.
1) Для чего он вообще нужен.
2) что выполняет тот или иной блок формул.
Первый пост alt(а) - думаю хороший пример.

Стараться не допускать упрощений моделей и всяческих действий типа "после сборки обработать напильником.
Подобные действия допускать только для заготовок которые предполагается доработать сообща в полнофункциональную модель.

Для зеленого новичка сообщение SS_SerG(а) выглядит китайской грамотой.
Так, например, alt по результатам этого письма интересуется:
- фильтры 17-го порядка как делали? КИХ, БИХ? исходник надо !
А откуда он увидал что фильтр 17го порядка?
А вот если бы все строки или модули модели были подробно откомментированы, думаю подобных вопросов не возникало бы.
SS_SerG
Участник
Offline1.3
с мая 2010
nr. Хабаровск
Сообщений: 44

Дата: 26 Май 2011 08:55:12 · Поправил: SS_SerG (26 Май 2011 08:56:13) #  

-Если Вы о водопаде (FFT).
То есть от том, что на рисунке ниже выполнено в сине желтых цветах, то это есть практически в любом sdr приемнике.


Водопад - представление сигналов в частотной области, а не во временной (хотя это не совсем верно, по горизонтали в частотной, по вертикали - во временной)

А откуда он увидал что фильтр 17го порядка?

в пояснении к картинке написано, что выбран фильтр 17 порядка.

Все дальнейшие мысли оставляем топикстартеру :)
petr0v
Участник
Offline2.3
с мая 2010
Balakhna
Сообщений: 412

Дата: 26 Май 2011 10:20:01 #  

alt

Более 5 гигабайт, не имею возможности выложить такой объём, легче скачать с rutracker.org
Не сложнее он маткада, для каких-то задач лучше маткад, для других скриптовый язык матлаб, для третьих симулинк. В общем выкладывал простейшие симулинковские модели демодуляторов цифровых модуляций, если есть желание разобраться может быть полезно.
alt
Участник
Offline2.8
с авг 2009
Украина
Сообщений: 509

Дата: 26 Май 2011 11:54:47 · Поправил: alt (26 Май 2011 13:16:57) #  

SS_SerG
Если в копилку файл не влазит - жду на мыло, alt4@ua.fm.
У меня ограничение на файлы .zip - не более 400 Кб, должно влезть, или выложу на alt.inf.ua.

Наверно путаете с супергетеродинами и двойным,тройным преобразованием?
Нет, не путаю - Регенеративный радиоприёмник
Вы такой и смоделировали (изобрели по второму разу), упомянув что ПЧ выше принимаемой полосы позволяет избавиться от зеркальных каналов приёма.
А сверхрегенеративными я бы обозвал РПУ с ПЧ несколько ГГц (!), выше принимаемой полосы частот, вот обсуждали такой Р300 - цифровой панорамный приемник, 30 - 3 600 МГц
Прошу поправить если неправ.

Про демодуляцию SSB и фильтры понял, именно это я и хотел вычитать в исходнике.

Но видится ли на горизонте то, что можно уже послушать в наушниках?
На Радиосканере лежат коллекции I/Q записей разных сигналов и софт для их демодуляции (SA_Analizer и прочее), у меня тоже есть возможность позаписывать. Вот куски этих записей я и хочу запихнуть в Mathcad с целью демодулировать и послушать.

alexis69
Если Вы о водопаде (FFT). - нет, я не о водопаде (он же частотно-временная диаграмма). Я о графиках с временной разверткой, осциллограммах, на первой картинке в посте таких 4 шт. По оси Х у них время (в мс или в отсчетах АЦП), по оси Y - амплитуда (в мкВ или разрядах АЦП), у фазы по оси Y - угол (в радианах или градусах). Такие графики дополняют спектр и водопад и позволяют классифицировать радиосигналы и определять их временные характеристики (длительность пакета, изменение амплитуды во времени и т.п.).
В любительском SDR софте что-то их нет почти, а вот в профи очень даже применяются.

Вот пример из другого моего творчества, это квадратуры (I/Q, комплексный радиосигнал):

http://bars.mksat.net/images/kv_07.png
ЧМ микропередатчик - жучек нехитрый, WFM.

http://bars.mksat.net/images/kv_01.png
Базовая станция сотовой связи GSM-900. Видны тайм-слоты, у базы неполная нагрузка.
Остальные примеры на http://bars.mksat.net

Скажем так, если сигнал импульсный, цифровой - вид спектра сильно зависит от того какой участок попал к нам в выборку, если проскочит единичная импульсная помеха - спектр безбожно исказиться. Понять что таки на приёме можно по таким осциллограммам.

alexis69, А еще есть практическое предложение. - извините, предложение же непрактично. Поэтому далее с юмором (еще раз, зарание прошу меня извинить):
В Маткаде неудобно писать комментарии, поэтому весь этот топик и есть комментарии к приведенным расчетам. Причем к каждому примеру приставлен автор, готовый хоть до посинения отвечать на вопросы. А у меня и так посты длинные, если вместо КИХ буду писать "фильтр с конечной импульсной характеристикой, эта такая штука которая ..." то и сам не осилю прочитать чего написал. Ученные же подсчитали, что замена длинного термина на выражение "эта хрень" сокращает время обсуждения научной проблемы в несколько раз, поэтому сокращения, абривиатуры и сленг неизбежны.
Хорошие комментарии к примеру SS_SerG написал Поляков В.Т. ("Радиолюбителям о технике прямого преобразования" и др.), а также интересны многочисленные темы по SDR на этом форуме.
Если вкратце: SDR появился так - американцы оборвали 2 провода в конце приемника Полякова (I+jQ, I-jQ - вот это место в модели SS_SerG, вот тут оборвали) и запихнули их в линейный вход звуковой карты компьютера. Дальнейшее развитие SDR заключается в попытках запихнуть в компьютер оставшиеся части приёмника (то есть реализовать их программно). В расчете SS_SerG фигурируют гетеродин, 2 смесителя и фильтры; экономия на диодах и транзисторах очевидна :)) Приемник Полякова уже почти доломали, скоро снаружи компа будет торчать только антенна, но и её можно заменить на скачку файлов из инета или удалённую трансляцию радиосигнала через инет (есть уже такое).

То ли они ругаются, то ли ведут конструктивный диалог :).
И то и другое. Вот дословный перевод всего топика на албанский (рискую бан получить):
Криатива. Первыйнах. +1. Афтар жжот. Ниасилил, патамучто многа букаф. В Бобруйск, животное. Афтар, выпей йаду. Учи олбанский.
В Бобруйск - это традиционная отсылка к Полякову, йаду - это к Лайонсу про фильтры читать или в Симулинк, олбанский - лень сокращения и терминологию объяснять и т.п. :)))


petr0v
Можно ссылку на модели демодуляторов? Попробую в Mathcad перевести. С Матлаба и Симулинка можно текст расчета вытащить, чтобы почитать не устанавливая программ?
SS_SerG
Участник
Offline1.3
с мая 2010
nr. Хабаровск
Сообщений: 44

Дата: 26 Май 2011 12:36:21 · Поправил: SS_SerG (26 Май 2011 12:42:09) #  

Как и обещал, выкладываю расчет (в Маткаде 11, почему-то 14 версия не дает в более ранних сохранять)

http://www.radioscanner.ru/uploader/2011/sdr_model.zip
коментариями не блещет расчет, но он и не претендует на полное описание процесса.
Отвечу на любые вопросы касаемо данного расчета.

Вы такой и смоделировали

Нет, нет. В моем расчете отсутствует зеркальный канал, только потому, что в других частях спектра исходного сигнала составляющие равны 0.
У меня классическое прямое преобразование.
petr0v
Участник
Offline2.3
с мая 2010
Balakhna
Сообщений: 412

Дата: 26 Май 2011 13:05:58 #  

alt

http://electronix.ru/forum/index.php?showtopic=23652

Из матлабовских скриптов можно, из симулинковских файлов врядли что-либо расшифруете, да и не к чему такие сложности на пустом месте, ничёго не стоит матлаб поставить, открыть модельку и запустить на исполнение.
alt
Участник
Offline2.8
с авг 2009
Украина
Сообщений: 509

Дата: 26 Май 2011 13:35:57 #  

SS_SerG
Ага. Пошел я за 11м Mathcad.

petr0v
Цифра, модемы - серьезно. Мы тут пока с SSB не разобрались еще :)) Нашел Matlab 5.1 древний только, как освою торенты скачаю Matlab 7.6.0.324 (R2008a) и смогу посмотреть.
petr0v
Участник
Offline2.3
с мая 2010
Balakhna
Сообщений: 412

Дата: 26 Май 2011 13:57:44 #  

alt

5.1 не пойдёт, качайте лучше последнюю версию(R2011b если не ошибаюсь), файлы предыдущих версий она должна открывать нормально.
alexis69
Участник
Offline3.1
с окт 2007
Городец
Сообщений: 1878

Дата: 26 Май 2011 14:06:17 #  

Опять вопросы:
1) Как и обещал, выкладываю расчет ...
http://www.radioscanner.ru/uploader/2011/sdr_model.zip

Там sdr модель что была презентована здесь?
Т.е. dsb (двухполосный ППП), а не ssb?
И каког качества там модель?
Если ее гипотически перевести в железо и софт(в точном соответствии) - на выходе получим нормальное звучание, а на экране нормальные графики?

2) Что написал Лайонс, и есть ли он на русском языке.
SS_SerG
Участник
Offline1.3
с мая 2010
nr. Хабаровск
Сообщений: 44

Дата: 26 Май 2011 14:47:27 #  

To alexis69

1. Да, выложил здесь пример, картинки с которого показывал ранее.

Не думаю, что есть смысл говорить о качестве модели :) я не Гуру, просто этот расчет мне помог систематизировать мысли.

Естественно модель не годится для перевода в железо/софт, хотя концепция по моему мнению верная, ну по крайней мере, как я воспринял прямое преобразование.
Вообщем то могу поднапрячься и немного усложнить ее, но для этого нужно время, хотя бы несколько дней, вот вопрос только, когда я их выберу :(

Почему не годится модель для сиюминутного использования:
- не учтена разрядность АЦП (хочется все таки оценить влияние разрядности на подавление зеркального канала)
- ФНЧ расчитан "на глазок", а нужно делать перестраиваемый, с расчетом нужной частотой среза
- децимация производится произвольно (без приведения к конкретному периоду дискретизации)
и это только "цветочки"..
Если бы тема началась с выкладки полностью готовой модели, то здесь бы не было вопросов и обсуждений..
Зачем я положил свою ложку дёгтя - затем что сам хочу разобраться как это работает.

2. Книга называется так "Цифровая обработка сигналов" Ричард Лайонс, 2006 год, на русском языке, на Озоне видел посвежее издание, вроде второе (дополненное/исправленное).
У меня издание первое, в формате djvu, для ознакомления могу поделиться
http://webfile.ru/5347096
12 Мб
alt
Участник
Offline2.8
с авг 2009
Украина
Сообщений: 509

Дата: 26 Май 2011 15:16:23 · Поправил: alt (26 Май 2011 15:56:01) #  

SS_SerG
http://www.radioscanner.ru/uploader/2011/sdr_model.zip - круто. Читается как роман :)) Ни добавить, ни убавить. Вопросов вообще нет, потому что в исходнике все ответы есть. Уже час играюсь и пока не надоело. Да, "данный пример показал процесс демодуляции SSB сигнала в общем виде". Касательно списка недоделок указанных только что Вами выше - а, бантики. Кому надо тот и добавит:))

Переконвертировал пример в формат Mathcad 7 - http://www.radioscanner.ru/uploader/2011/sdr_model_01_v7.zip по той причине что инсталляция Mathcad 7 уже выложена тут - http://alt.inf.ua/files/mathcad_7_short.zip, и она в архиве всего 25 МВ, быстрее скачать. Для рассматриваемых примеров версия Mathcad не влияет никак.

Пока не сотворю что-то толковое по заявленной теме лучше помолчу (автор топика удалился нервно курить в сторону, в ожидании прихода музы шелестя книжкой Лайонса:))

alexis69
Там sdr модель что была презентована здесь, ssb, хорошего качества модель, если ее практически перевести в железо и софт в точном соответствии - на выходе получим нормальное звучание, а на экране нормальные графики.
SS_SerG
Участник
Offline1.3
с мая 2010
nr. Хабаровск
Сообщений: 44

Дата: 26 Май 2011 15:41:48 · Поправил: SS_SerG (26 Май 2011 15:55:31) #  

To alt

Если не лень, попробуйте получить в итоге НЧ сигнал отсчетов эдак в 512/1024 и потом в БПФ его. Любопытно посмотреть покачественее спектр, чем тот что есть.

А я таки попробую дополнить немного расчет (как вылечу комп.. болеет паразит)

Далее предлагаю все таки развить эту тему, но для начала тайм-аут на "сбор с мыслями", может еще и теоретики подтянутся.

З.Ы. на Си реализовал сиё до фильтрации и без графиков, но пока делиться нечем, гольные циферки.

З.З.Ы. Информация к размышлению: после АЦП берем 1024 отсчета, умножаем, фильтруем и т.д., остается 1024 отсчета.. и тут пришла децимация... например каждый 32 отсчет берем остальное выкидываем. И в итоге получаем сигнал всего лишь из 32 отсчетов. И вот такой НЧ сигнал преобразовывать по Фурье как то нехорошо.. ни о каком разрешении по частоте не может быть и речи (RBW). Значит надо накапливать буфер из некоторого числа таких НЧ кусоков? или изначально брать большее кол-во отсчетов после АЦП? Я пока не придумал, потому что все упирается во время обработки.. а время ресурс дефицитный..
alt
Участник
Offline2.8
с авг 2009
Украина
Сообщений: 509

Дата: 26 Май 2011 16:54:04 · Поправил: alt (27 Май 2011 01:14:35) #  

SS_SerG
Если не лень, попробуйте получить в итоге НЧ сигнал отсчетов эдак в 512/1024 и потом в БПФ его. Любопытно посмотреть покачественее спектр, чем тот что есть.
Да вот не лень, уже целый день кувыркаюсь с Вашим примером (в отпуску каждый развлекается как умеет). Вот неудачное и неверное решение (зато не портил оригинал расчета) - http://www.radioscanner.ru/uploader/2011/sdr_model_01.zip
А удачное ниже, только Ваш пример бесцеремонно перепахан с точки зрения эргономики труда и еще из разных невнятных соображений:))
Ниже ОЧЕНЬ много текста, но короче не знаю как изложить.

Информация к размышлению: после АЦП берем 1024 отсчета, умножаем, фильтруем и т.д., остается 1024 отсчета.. и тут пришла децимация... например каждый 32 отсчет берем остальное выкидываем. И в итоге получаем сигнал всего лишь из 32 отсчетов. И вот такой НЧ сигнал преобразовывать по Фурье как то нехорошо.. ни о каком разрешении по частоте не может быть и речи (RBW). Значит надо накапливать буфер из некоторого числа таких НЧ кусоков? или изначально брать большее кол-во отсчетов после АЦП? Я пока не придумал, потому что все упирается во время обработки.. а время ресурс дефицитный..
Неправильный ход мысли, и БПФ в расчете не туда сунули (уже переделал, теперь могу опосля поумничать). Комплексный БПФ делаем сразу после смесителя и ФНЧ - получаем панораму; точек и разрядности в нем должно быть столько сколько железо потянет при терпимом быстродействии, борьба идет за разрешающую способность по частоте и динамический диапазон этого графика. Если 1-го компромисса не удается найти, придется заложить несколько режимов - или быстро, или качественно. Ну в модели можем пожертвовать секундами, все равно Mathcad - медленный интерпретатор, а в SDR софте видели же как быстро считает - есть хорошие модули на Си для БПФ (dll-ки от Масатчусетского университета, я и с Delphi юзаю, там оптимизация даже под Intel/AMD есть - если надо выложу, да с инета они). Ваш пример тормозил из-за нюансов в графике, это я ниже расписал. Сейчас у меня бегает - приятно пользовать. Если же мысль о реализации обработки на контроллерах, DSP, FPGA - то там тоже победила грубая сила в плане новых мощных чипов, куда там Пентиумам под Виндой :))

С другой стороны - вы же смоделировали РПУ с прямой оцифровкой, АЦП аж на 30 МГц. Если бы просто приемник, так нет же - спектра захотелось. А спектра в SDR рисуются отдельным трактом (!), отдельным от детекторов (!!). Сигнал на входе тот же, расчеты похожи (Ваш пример изображает заготовку для обоих расчетов), но параметры разные и результат разный.
Для панорамы считаем БПФ получше при фиксированном гетеродине (оптимальную частоту гетеродина еще надо выбрать, зеркала-то есть и не важно что они в минусе, в комплексном сигнале мнимая часть так же реальна как реальная - каламбур вышел). На практике, если такой приемник использовать как блок обработки на ПЧ УКВ РПУ - то этот минусовый спектр есть необходимые пол-полосы, там должно быть чисто.
Для детектора перестраиваем гетеродин чтобы загнать частоту указанную пользователем в 0 (нулевая ПЧ), отрезаем лишнюю полосу исходя из полосы выбранной пользователем (не нравиться мне эта децимация - она же как расческа, гребенка, усреднять скользящим окном надо) и гладим фильтром; имея НЧ I/Q детектируем заданным пользователем детектором.
Вот ни разу ваш пример не сводится только к SSB, надо все детекторы и возможные полосы (стандартные и нестандартные) делать на выбор оператора, на то и I/Q. На меньшее я просто не согласен.

С третьей стороны - вы же смоделировали РПУ с прямой оцифровкой, АЦП аж на 30 МГц. Ближайшие реальные аналоги - Perseus, QS1R. Там на обработку цифры стоит крутое FPGA (потому как после оцифровки сырой сигнал имеет такие объемы, что в реальном времени в порт компа USB никак не пропихнешь, требуется обработка на борту платы, а Ethernet и Gigabit-Ethernet еще слабо применили в SDR, есть только пару проработок). Спектры там считаются из отдельных выборок сигнала (недостатки - единичный короткий импульс между выборками не будет отображен, хотя пока еще никто не жаловался, скважность у этих выборок небольшая, быстро работают, черти). Спектры считают с большим количеством точек, чтобы подробно показать панораму диапазона и водопад. А вот сигнал на детекторы идет по другому тракту (цифровому, виртуальному, параллельному - не важно, это другой тракт обработки сигнала). Там реализован DDC (диджиитал даун конвертер), который может в массиве чисел оцифрованного сигнала "настраиваться" на заданную частоту с заданной узкой полосой, и опускает её вниз, на нулевую ПЧ, дальше на детектор. Это все реализовано в софте FPGA. DDC есть и железные, микросхемка такая интересная. Самое важное, что DDC уже реализован в Вашем расчете: в цифре есть гетеродины-смесителы-ФНЧ-<прореживание>. Первый раз вижу такое в Mathcad, а то в тексте реального софта это так непрозрачно выглядит что ни разобраться, ни объяснить.

То есть, то что мы видим и слышим у SDR - это результат паралельной работы 2-х разных трактов обработки сигнала, а не одного.

Ваш пример можно немного дописать для моделирования обоих трактов модных SDR. Только для этого необходимо определиться с характеристиками моделируемого РПУ и его схемой, а то "неконкретное - неописуемо", а изменение констант на порядок уже приводит к другим алгоритмам. Я бы предложил взять характеристики конкретного SDR РПУ, QS1R (он у меня есть, поэтому о нем проще думать и сравнить с реальной железкой можно).

Юмор: параллельных вычислений в Mathcad нет, можно было бы их имитировать паралельными столбиками расчетов на листе, чтобы к концу расчета иметь одновременно оба результата - панораму диапазона и звук на заданной частоте с заданной полосой.
А если серьезно - да считать как угодно, в конце листа выдать оба результата.

Буду именовать обсуждаемый пример "SDR схема №1" (по актуальности).

***

Тот простой пример, который я начал рассматривать в начале топика (пример №1) - это другая популярная SDR схема (исторически - первая); предполагает аналоговую раскладку на квадратуры некой железкой (квадратурный детектор, на смесителях или на мультиплексорах), АЦП двухканальное синхронное низкочастотное (линейный вход звуковой карты, например, он узковат то SSB и NFM пролазит). Там попроще с детектированием сигнала в реальном времени, однако панораму широкой полосы приходится формировать другими, более дикими и медленными способами (перестройкой аппаратного РПУ; изменением частоты гетеродина; свиппированием синтезатора, который используют в качестве гетеродина - "чирк" по буржуйски и т.п.).

Третья популярная SDR схема - просто перенос радиосигнала с ПЧ РПУ в полосу звуковой карты (на типа ПЧ 12 КГц) - малоинтересна, и пригодна разве что для любительского приема DRM. Мне она не нравиться из-за потерь в характеристиках (полоса!). Да, сигнал вкачанный в комп можно разложить потом на I/Q тем же способом что и в обсуждаемом расчете, а затем выполнить те же манипуляции и получить ... схему куда хуже и примитивнее чем №1 и №2. Это вопрос личных предпочтений, но есть и такой технический термин: "не нравиться, не хочу, не буду".
Подобным страдали по началу в SA_Analyzer, пока один хлопец из Киева не спаял квадратурный детектор. Как только пришли I/Q записи радиосигнала - сразу все врубились как надо делать.

Выводы:
Оба SDR подхода имеют право на жизнь (№1 и №2), и существуют в виде конкретных SDR приёмников, конкурируют. Круче считается прямая оцифровка (поход №1, на что намекает Mathcad модель SS_SerG), но цена за такую железку кусается. Посчитаем: $1000 + доставка за американский QS1R (каким чудом я заимел его клон за $300 никому не расскажу :)) или подход №2 - минимальный SoftRock стоит копейки, а схем подобных ему и совместимых с существующим софтом - масса. Предлагается прорабатывать обе модели (это не два варианта от разных авторов, это 2 популярных схемы, то что кроме этих схем есть - я описал кратко).

Ну и это, уважаемые читатели - качайте .mcd файлы, запускайте модель, смотрите. Без этого скучновато выходит.
alt
Участник
Offline2.8
с авг 2009
Украина
Сообщений: 509

Дата: 26 Май 2011 19:10:16 · Поправил: alt (27 Май 2011 10:05:08) #  

SS_SerG
Так, пошла ловля блох.
1. В гетеродинах: должно быть I=sin(x), Q=cos(x) - так традиционно принято. У Вас I=cos(x) поэтому комплексный спектр который я добавил вылез в зеркальном отражении.
2. На всех графиках где много точек в Traces, trace 1 убираем Label o's, ставим none (не надо помечать каждую точку буквой "о"), да и вообще меняем все на lines и points, они быстро рисуются. Отсюда были тормоза при пролистывании файла (якобы долго считает) и странные всплошную красные графики. При points ВЧ сигнал вышел - ну прямо как на осциллографе без синхронизации (а её тут и нет), то есть правильно.
3. После прореживания плохо спектр считать, не только из-за числа точек, а из за того что прореживание есть гребенчатый фильтр и в спектре полезут гармоники сигнала (спорное утверждение, но что-то вылазило).

...

Перепахал немного файл "под себя", исходный сигнал для проверки другой пока; зато добавил комплексный спектр до прореживания (работает, 8192 точек, недолго считает), показал "зеркало" на -4 МГц (удвоенная частота гетеродина 2 МГц в минусе), сравнение сигналов в конце подправил, число точек - по числу точек в БПФ (зачем больше?), по пути сломал старый ДПФ и не смог починить (какая-то переменная переопределена, m кажется), потому и снес его; ну и по мелочам разное. Пока буду продолжать в том же духе.
Ниже предлагаю дописать детекторы.

Файл Mathcad 11
http://www.radioscanner.ru/uploader/2011/sdr_model_03.zip



К своему расчету вернусь позже (этот пока интереснее), да собственно с момента получения низкочастотных квадратур примеры могут продолжатся одинаково.

Кажется я тему не там создал, её бы в Радиосигналы, там цифровой обработкой сигналов страдают?
SS_SerG
Участник
Offline1.3
с мая 2010
nr. Хабаровск
Сообщений: 44

Дата: 27 Май 2011 14:24:37 · Поправил: SS_SerG (27 Май 2011 15:10:12) #  

To alt

Угу, поглядел на изменения в конструкции... :)
Предложения:
1. Думаю, что исходный ВЧ сигнал нужно в самом начале в виде спектра показать. Это для наглядности необходимо, чтобы было видно процесс переноса.

2. Конечно скорости в прорисовке не добавит, но все таки дискретные сигналы лучше отображать на графиках в виде вертикальных "палочек" с "кружочками" на концах.. :) вроде как цифровые сигналы так более корректно отображать с точки зрения восприятия.

3. Для первого потока (давайте так условимся - первый поток обработки это визуальное отображение в полосе обзора, второй поток обработки - демодуляция узкополосного сигнала) предлагаю использовать длину преобразования равной примерно количеству пикселей на экране по горизонтали.. Например 1024.. или 512..

4. Предлагаю пока абстрагироваться от реальных приемников типа Perseus или QS1R, дабы нас не закидали камнями, и условиться, что пока данная тема - это разбор, как работает готовый приемник, а не как его сделать, дабы второй раз не закидали камнями. Про изначальные характеристики присущие какому-либо приемнику - согласен, стоит установить границы для полета фантазии.

5. Коэффициент децимации думаю стоит выбрать таким, чтобы частота дискретизации стала в итоге в районе 48 кГц.. То бишь 30 МГц/ 48 кГц = 625 - например так.. (Это уже для демодуляции. Для обзора зависит от полосы, которую мы хотим видеть)
По крайней мере приблизимся к реальности. Однако при этом входная последовательность должна быть порядка 1024 * 625 = 640 000
Хотя что это я уперся в 1024.. ну да ладно..

*Важно*
И вот еще что то мне подсказывает, не совсем корректно сравнивать в конце расчетов исходный НЧ сигнал (сумму составляющих) и модуль комплексного числа ("амплитудно-демодулированного"). Все таки для такого сравнения более верно будет в начале расчета смоделировать АМ-сигнал. И в конце сравнить исходную огибающую с демодулированной.
Например такой:


Файл в Mathcad 11
http://www.radioscanner.ru/uploader/2011/am_modulation.zip

Иначе у Вас получилось, что невесть какой сигнал демодулировали АМ'ом...


To all
Если кому-то что-то неясно в этой теме, думаю не стоит скромно молчать, а лучше спросить. Это для пользы всех, включая тех, кто уже что-то знает по теме.
Реклама
Google
 Страница:  1  2  3  »» 

Создавать сообщения могут только зарегистрированные участники форума.
Войти в форум :: » Логин » Пароль
Начало
Средства связи, рации. Купить радиостанции Motorola, Yaesu, Vertex, приемники, антенны.
Время загрузки страницы (сек.): 0.051; miniBB ®