Автор |
Сообщение |
|
Дата: 19 Мар 2013 23:00:06 · Поправил: Sinus (19 Мар 2013 23:23:46)
#
Дело может быть не только в FFT но и в способе вывода на экран. В свое проге не пользуюсь сторонней графикой, прямо вывожу результат на экран попиксельно; думаю, что и FFT вычисляю правильно, всё вроде бы по науке.
И вот мои спектрограммы для вашего файла с демодом (сверху поместил инфу о файле, с которым работала прога. Копилка не принимает от меня jpeg более 200 кб, поэтому пришлось наложить рисунки друг на друга). Это одна и таже спектрограмма при четырёх разных "яркостях" (параметр gain):
Увеличить
Не вижу на этих картинках никакой "гулянки" АЧХ.
Хорошо бы попросить кого-нибудь из форумчан - глянуть спектрограмму вашего файла в имеющихся у народа разных спектро анализаторах (но чой-то я стесняюсь :) |
|
Дата: 19 Мар 2013 23:24:23 · Поправил: Programmist (20 Мар 2013 00:30:50)
#
Да, похоже, что есть сбой при выводе на экран. Малоприятная штука, переписать графический компонент не реально, делать свой, так тут на год работы. Попробую найти ошибку. Отличия в файлах есть, но приводят они уж к очень неадекватным последствиям.
На скорую руку определил, что сдвиг на один отсчет приводит к изменению цвета. Сигнал специфический, на нем сразу видно. Теперь нужно понять, правильно это или нет. Скорей всего нет, т. к. другие анализаторы такого сдвига не видят.
С другой стороны, что не делается, все к лучшему. Можно полностью убрать этот "нехороший" эффект, а можно и оставить, как опцию для поиска изменений.
Что-то мне это ужасно напоминает. Нужно либо звать мастера, либо опять доставать паяльник. :) |
Реклама Google
|
|
|
Дата: 20 Мар 2013 00:36:39 · Поправил: Sinus (20 Мар 2013 01:47:13)
#
Имхо, пора менять электролиты)
|
|
Дата: 20 Мар 2013 00:40:43 · Поправил: Programmist (20 Мар 2013 01:05:25)
#
Точно! Завтра с новыми силами буду менять. Так оставлять это дело нельзя, а то могут и взорваться.))
Вот так и рушится то, что казалось прочным. Подвел сигнал собственного изготовления.
Теперь не знаю, чем это обернется, ведь электролиты просто так из строя не выходят, разве что высыхают.
|
|
Дата: 20 Мар 2013 01:46:23 · Поправил: Sinus (20 Мар 2013 03:08:03)
#
электролиты просто так из строя не выходят, разве что высыхают.
Да, это понимаю: я и сам такой :)
Кстати, нашёл у себя в компе напрочь забытую "SA-free". Вот, что она показала на вашем файле с демодом:
Так при размере блока FFT=1024 (всё ОК, АЧХ нормальная)
Увеличить
Но вот так при FFT=2048 и вдвое меньшем шаге во времени:
Увеличить
И всё снова меняется, если хоть чуть-чуть сжать размер окна программы:
Увеличить
Таким образом, на специфических сигналах вроде "tv-таблицы" мы наблюдаем какие-то стробоскопические явления, связанные с сугубо импульсной формой дискретного сигнала во временном домене. Делаю вывод, что на таком сигнале можно получить какие угодно артефакты, но не истинную АЧХ наших модуляторов-демодуляторов.
Всё-таки, по определению, АЧХ любой системы следует измерять на синусоидальных сигналах (т.е. не на импульсах, а на колебаниях с определённой частотой и постоянной амплитудой во времени) Измерения следует вести с синусами разных частот по очереди: сперва на синусоиде одной частоты, потом на другой, и т.д. Вот тогда результат измерения АЧХ не будет искажён интерференционными, интермодуляционными и стробоскопическими артефактами. |
|
Дата: 20 Мар 2013 02:25:18 · Поправил: Programmist (20 Мар 2013 23:40:55)
#
Sinus
АЧХ любой системы следует измерять на синусоидальных сигналах
Так-то оно так, тем не менее, проблема остается. Дело в том, что мой алгоритм отрисовки спектра очень чувствителен к изменению фазы, особенно на сигналах им же созданных. Сдвиг на один отсчет такого импульсного сигнала вызывает у него головокружение и тошноту, что и проявляется в виде эффекта высохших электролитов. Другие анализаторы этого сдвига не видят, и каким-то образом сглаживают картинку. Как ее сгладить, до сих пор понять не могу. Проблема старая, возвращаюсь к ней не в первый раз, а решения так и нет. В принципе, можно на это плюнуть и воспринимать, как должное, но стробоскопический эффект ужасно неприятен, режет глаз и сбивает с толку.
В новой версии будет другой алгоритм, с интерполяцией. По идее, там этого безобразия быть не должно, но точно сказать не могу, он еще не готов.
Наш сигнал, после демодуляции сдвигается ровно на один отсчет. Стоит его вернуть и все встанет на свои места, но это тоже не решение. Все равно рано или поздно найдется такой сигнал, который будет отображен неверно.
Может оказаться и так, что решения этого вопроса нет. Как и при попытке записать (оцифровать) импульсный сигнал, он может не попасть в бины, в результате на записи получится нуль.
Единственное, что пока реально сделать, так это добавить в программу кнопку для сдвига начального отсчета, как это сделано для просмотра фазы.
Вроде-бы и ерунда, а неделя, если не больше ушла на поиски алгоритма демодулятора, который был ни в чем не виноват, просто сдвинулся один отсчет.
з.ы.
Вот так. Не было у меня модулятора, стало пять, и все разные, абсолютно.))
Три своих, Sinusa и Petr0va. Вариант Petr0va с нулевой несущей оказался единственным, который справляется с сигналом таблицы, но гармоник на выходе получается больше. Может быть из-за дополнительной конвертации в IQ, а может опять фаза где-то убежала, что скорей всего. Искать пока лень.
|
|
Дата: 21 Мар 2013 03:00:20 · Поправил: Programmist (21 Мар 2013 18:31:45)
#
Вышло в итоге. Формула FM-модулятора для реального сигнала. Ничего не рябит, не скрипит, гармоники в норме.)
В демодуляторе обработку массива надо начинать не с нуля, а с единицы (со второго отсчета), тогда фаза будет полностью соответствовать. Полярность, имхо, тоже надо изменить на противоположную.
Увеличить
Неплохо так, ровненько, прямоугольный импульс вписывается в полоску 8К.
Увеличить
Три сигнала RF-FM. На выходе демодулятор Sinusa выдаст три чистейших треугольных сигнала, частотой 10, 5 и 1 Герц. Проверено.
Только это еще не все. Кажется, что должна быть автоподстройка фазы, при демодуляции сигналов, вырезанных неизвестно откуда.
Пока только кажется, буду проверять. Результат несоответствия фазы рассмотрен выше, на примере "высохших электролитов".
Самое главное, что в модуляторе удалось избежать интегрирования, которое само по себе дело темное.
Мгновенные значения грозят переполнением, ну а дальше, лучше не буду.)
з.ы.
Проверить работу можно здесь.
Все-таки сделал 69-ую версию без просмотра формы сигнала. Сделать сразу все времени не хватает.
Режим демодуляции FM2 экспериментальный, с кривым косинусом, но на реальных сигналах иногда дает лучший результат в плане шумов.
При модулировании сигналов сложной формы, нельзя включать децимацию и фильтрацию BPF, сигнал надо готовить заранее, иначе результат непредсказуем. |
|
Дата: 22 Мар 2013 02:34:18 · Поправил: Sinus (22 Мар 2013 02:55:04)
#
Programmist
... демодулятор Sinusa ...
Какой там Синуса, рано делать с меня золочёную статую :) Это же обычная формула для производной арктангенса, из учебника. Здесь на форуме такой демодулятор был уже много лет назад.
Вышло в итоге. Формула FM-модулятора для реального сигнала
Чегой-то я её не понимаю... Не ясно, зачем там два цикла. Имхо, для получения на выходе IQ-сигнала (ессно, с исходным дискретом, если спектр модулирующего сигнала доходит почти до границы Найкввиста, и нам не хочется сузить его фильтрацией) надо резервировать в памяти место для выходного массива удвоенной длины. Т.е. - массив для левого и правого каналов выходного I/Q стерео-файла.
Вот алгоритм всё того же нашего FM-модулятора, но с I/Q на выходе (и с любой разумной несущей; при нулевой несущей достаточно положить С1=0):
Входные данные и константы те же, что в предыдущих вариантах:
C1 = 2пи * Fcar / Fd
C2 = (2пи * Fdev) / (Fd * Smax )
Phase := -C1 // начальное значение фазы, можно выбрать его и любым другим.
Для n=0 до N-1, с шагом 1, вычисляем: // это начало цикла.
Phase := Phase + C1 + C2 * S[n] // накапливаем аккумулятор фазы.
Если Phase > 2пи, то Phase := Phase - 2пи // берём значения фазы по модулю 2пи
Если Phase < -2пи, то Phase := Phase + 2пи // чтобы не было неограниченного роста фазы.
OUT[2 * n] := A * cos(Phase) // в чётных элементах массива OUT будет первый канал (канал I)
OUT[2 * n +1] := A * sin(Phase) // в нечётных элементах массива OUT будет второй канал (канал Q)
Конец цикла.
(на сегодня прощаюсь, завтра вынужден рано вставать :(( |
|
Дата: 22 Мар 2013 02:47:48 · Поправил: Programmist (22 Мар 2013 14:20:20)
#
Sinus
Здесь на форуме такой демодулятор был уже много лет назад.
Не видел, перерыл много чего, а рабочую формулу не нашел. Надо попробовать с арктангенсом, но думаю, что результат лучше не будет. При малых индексах модуляции все равно вылезают шумы. Как понял, проблема просто не решается.
Чегой-то я её не понимаю... Не ясно, зачем там два цикла.
Цикл один.
от n = 0 до Data32Size - 1 выполнить:
начало (begin)
if n and 1 = 0 then (для четного отсчета)
else (иначе) для нечетного отсчета т. е. когда n and 1 <> 0
конец (end) цикла.
В Паскале так все циклы описываются, оператором for n:= a to n:= b do, шаг - единица.
Переменная n, в данном случае и является нумератором. Шаг изменить нельзя.
Можно сделать цикл в цикле, но здесь этого нет. Простое разделение на четный / нечетный.
Переменных P1 и P2 две потому, что одна работает с синусом, вторая с косинусом.
Аккумуляторов фазы тоже два, для синуса и косинуса. Все это внутри одного цикла.
В итоге из реального сигнала получаем реальный сигнал с вдвое большим спектром и на несущей частоте, равной половине частоты дискретизации. Так как на выходе спектр в два раза шире, в процедуру включена предварительная децимация в 2 раза, чтобы уместился весь исходный сигнал. Децимацию можно отключить, но тогда сигнал должен быть отфильтрован ровно на половину, иначе получится неизвестно что.
Алгоритм выше, с нефильтрованным IQ на выходе сегодня реализовать не успел, пока думал, что с ним дальше делать, силы кончились. Надо еще десять раз проверить модулятор, если он получился без косяков, то это очень неплохо, ведь там убиты сразу два зайца: IQ преобразование и интегрирование.
В любом случае сейчас задача модулятора - создание испытательных сигналов для поиска наилучшего алгоритма демодуляции. Судя по тесту с треугольными импульсами, синусоидами и таблицами, справляется он с этим делом неплохо. Шуметь там вроде как нечему, на первый взгляд. С IQ, конечно, тоже надо сделать, только с фильтрованным, а это сразу не получается.
з.ы.
Если модулятор получился правильный, то что-то мне подсказывает, что должна быть и обратная функция, чтобы вернуть всю эту "музыку" на место. Она-то и станет идеальным демодулятором, без возни с IQ-квадратурами. Ведь здесь имеем всего лишь набор нулей и единиц, переставленных вполне определенным образом вполне определенными функциями sin и cos.
Дальше можно ввести 64 бита wav формат, сгенерировать испытательные сигналы и посмотреть, в каком месте появляются шумы, если они будут.
Сам анализатор шумит сильно. Не смотря на то, что сделал испытательные сигналы 32 бита, они уже содержат много шума. Сигналы должны быть достаточно продолжительные, потому, что в начале и конце всегда присутствуют артефакты от работы FFT, особенно если большой блок (65536), а сигнал короткий или короче самого блока.
Увеличить
5 синусоид 32 бита оригинального размера по времени. Артефакты блока фильтров, IQ, и самого анализатора прекрасно вписались в размер.
Увеличить
Пять синусоид х4 по времени. Смотреть можно только середину. Один артефакт, который предпоследний, явно лишний, значит где-то остался "косяк". При большом усилении видно все, даже то, чего не должно быть.)
Убрать такие вещи сложно. Надо резервировать в начале и конце сигнала блоки по 65535 отсчетов и туда прописывать зеркальное отражение начала и конца сигнала. Результат простого дополнения нулями виден на картинках. И все равно они будут, может быть даже хуже, если блоки плохо состыкованы. |
|
Дата: 27 Мар 2013 04:43:38 · Поправил: Sinus (27 Мар 2013 04:49:04)
#
Обнаружил хохму в своих магнитофонных катушках почти 40-летней давности. Оказывается, они хранили "секрет", о котором я в те времена даже и не подозревал...
Дело вот какое. Давным-давно, в 1970-х, записывал музычку, с КВ-приёмника в магнитоле "Миния-4". Полосу не всегда выбирал узкую, и поэтому иногда с музычкой слышны были какие-то свистящие помехи (то ли "по соседнему каналу", то по "зеркальному", теперь не узнать - станций-то этих уже не стало...)
А нынче, прослушивая эти чудом сохранившиеся старые катушки, подумалось - а что если записавшиеся помехи-то попробовать посносить "на 0 Гц" и послушать? Дык вот что получилось; два коротких примера, пока наиболее удачных (сделал в мп3, чтобы в плеере яндекс-диска игралось):
tape_p1.mp3 - это часть исходной музыкальной м/ф-записи.
AF_LSB_p1.mp3 - а этот "секретный" голос извлёкся из помехи :)
Вот так выглядит спектрограмма этой исходной записи:
Увеличить
Вот её спектр; в результате разных попыток в конце-концов указанную часть спектра сдвинул к 0 Гц как "нижнюю боковую":
Увеличить
Во втором примере имеются две (или даже три) частоты с помехой;
из самой высокочастотной помехи удалось извлечь "тайный" голос:
tape_p2.mp3 - это второй фрагмент исходной музыкальной м/ф-записи.
AF_LSB_p2.mp3 - а это содержится в помехе :)
Спектр этого фрагмента м/ф-записи:
Увеличить
На всякий случай, здесь архив с обоими исходными фрагментами в wav (для желающих позабавляться с разделением сигналов, прекрывающихся одновременно и во времени и по спектру частот). Интересно, что прослушать информацию из помехи удалось-таки несмотря на то, что эти записи сделаны даже не с выхода УПЧ (и тем более не I/Q), а с АМ-детектора приёмника, т.е. они совсем "испорченные". (Правда, не во всех записях помеха "демодулируется" так запросто... надёжного способа разделения таких сигналов, скорее всего, не существует).
Кстати, мысля заодно: вот было бы счастье, если бы на м/ф оказался записан сигнал со смесителя ППП, причём до фильтрации в ФНЧ: наверняка полосы м/фона хватило бы на несколько SSB-станций р/любительского диапазона :) Т.е., имхо, прямой выход со смесителя (ну, или с антиалиазинговым фильтром НЧ с частотой среза ~20 кГц и с таким же широкополосным УНЧ) вполне уместен, например, в ППП для начинающих "Победа" - чтобы записывать полосу 20 кГц прямо через монофонический вход звуковой карты, в моно-файл; и затем в проге типа "Маткад" учиться фильтровать и демодулировать - как бы первые шаги к SDR, но без I/Q и без спец.Soft-а. Для такой цели отсутствие узкополсного ФНЧ и подавителя второй боковой в простейшем ППП превращается из недостатка в достоинство;) |
|
Дата: 27 Мар 2013 05:35:43
#
наверняка полосы м/фона хватило бы на несколько SSB-станций р/любительского диапазона :)
Полосы видеомагнитофона, после некоторой модернизации точно хватит, а 4 часа эфира это не так уж и мало. Неизвестно, что окажется лучше, пленка или HDD.
|
|
Дата: 27 Мар 2013 13:52:11
#
Sinus
Обнаружил хохму в своих магнитофонных катушках почти 40-летней давности. Оказывается, они хранили "секрет", о котором я в те времена даже и не подозревал...
Неплохо у Вас получилось. Будто знали, когда записи делали с широкой полосой, что в будущем помехи от соседних каналов могут быть демодулированы.
Давно делал режекторный фильтр на входе УНЧ на 5 кГц в свой «Геолог», довольно узкополосный, чтобы не завалить АЧХ. Этот часто присутствующий свист при приёме вещательных станций на КВ меня раздражал. Слышен был издалека. Проходишь рядом с садовым участком соседей и слышишь только этот свист. Ясно, что-то на КВ слушают.
|
|
Дата: 31 Мар 2013 01:54:44 · Поправил: RadioKoteg (31 Мар 2013 02:02:20)
#
|
|
Дата: 16 Апр 2013 18:01:29 · Поправил: DVE (16 Апр 2013 18:03:45)
#
Вроде простая тема, но что-то не соображу никак.
Решил я отображать в реалтайме спектр поверх нотной линейки, чтобы значит сигнал поверх нот видеть (удобно для настройки чего-нибудь).
Получилось примерно так (программа под iPad):
Увеличить
Смотрится как бы отстойно, вместо прямой полосы какая-то хрень. Не могу понять, возможно ли получить кусок спектра (в моем случае примерно 200-2000Гц) с бОльшим разрешением?
Применяю естественно БПФ, на 4096 точек, частота дискретизации 44100, еще программно усредняю на 4, получается 11025. Вроде число точек на герц не так и мало, а на выходе фигня какая-то получается - явно сигнал слишком толстый и размазанный. Оконную функцию тоже применяю.
Может конечно проблема во встроенном микрофоне (iPad)? Может перед БПФ все лишнее полосовым фильтром обрезать? Или сигнал после микрофона такой и есть, и я много от подобного железа хочу?
(хотелось чтобы если из колонок играет синус ноты "ля", на экране была прямая более-менее соответствующая этой ноте, а не размазанная плюха на 20 пикселов) |
|
Дата: 16 Апр 2013 20:00:12 · Поправил: Programmist (16 Апр 2013 20:46:57)
#
DVE
Надо записать сигнал и посмотреть на другом анализаторе, если результат устроит, значит, прямой путь к скользящему FFT. Блок 4096 для музыки много, да и встроенный микрофон не лучший вариант. Полосовой фильтр здесь не нужен.
Ровной линии все равно не будет. В лучшем случае получится Вот это.
Увеличить
У музыкальных инструментов много гармоник. |
|
Дата: 11 Ноя 2013 00:46:58 · Поправил: Sinus (11 Ноя 2013 01:15:34)
#
А если можно, покажите простой примерчик ДПФ с небольшим количеством точек.
Опять меня сюда занесло... с прежней торбой...)) Типа для начинающих, или вообще не знаю для чего, вот, набросал html-программку, вычисляющую ДПФ от вещественного массива s[n]:
http://www.radioscanner.ru/uploader/2013/dft_real.zip
И аналогичную программку ДПФ комплексного массива (т.е. для двух вещественных массивов), а заодно в ней же - расчет Обратного ДПФ:
http://www.radioscanner.ru/uploader/2013/dft_compl.zip
Программка открывается в браузере. Входные массивы чисел вводим руками через диалоговое окно (вид его зависит от версии броузера, и может быть дурным). Пояснения есть в самой проге. В броузере должна быть включена поддержка javascript и разрешена работа с диалоговыми окнами, а иначе прога не будет работать. Собсно, прога-то - лишь текстовый html-документ, который можно открыть и прочесть, например, в "Блокноте"; а все вычисления сделает броузер и ОС.
Строить графики в html не умею, поэтому обе проги чисто численные. Желательно запастись карандашиком, бумажкой в клеточку, и для разных пробных "сигналов" s[n] строить графики вычисленных фурье-амплитуд X[k], Y[k], и спектра мощности P[k] . То есть рисовать "палки", примерно как в учебниках по ЦОС.
Вот какие видятся простейшие примеры-упражнения. Возьмите небольшое число точек, например, N=7 или 8 (или меньше-больше; причём, для чётного и нечётного N будут небольшие отличия в свойствах спектров).
1) Введите в первую прогу (расчёт ДПФ вещественного сигнала) все s[0] = s[1] = ... = s[N-1] = 1, то есть одинаковые. Посмотрите результат расчёта, и попробуйте объяснить его.
2) Введите s[0] = N, а остальные s[n] = 0. Объясните результат.
3) Аналогичное упражнение, но теперь пусть будет отлично от нуля только s[1] = N. В следующем аналогичном примере пусть s[2] = N. И т.д. Объясните (себе), почему в этих случаях графики для X[k] и Y[k] похожи на косинусы и синусы с разной частотой. Чем больше N, тем явственней похожесть.
4) Пусть, s[1] = N, остальные s = 0. Получили X[k], Y[k]. Теперь берём массив X[k] в роли нового массива s[n] и снова вычисляем ДПФ. Объясните результат. Ну и далее в том же духе. Проверяйте также, как работает обратное ДПФ и ДПФ комплексного ("двухканального") сигнала.
Жаль, в html не умею делать ввод-вывод данных через текстовые файлы. Но и без того можно наловчиться переносить числа из одного примера в другой копированием результатов из html-документа в "Блокнот" и обратно. Главная борьба должна идти за понимание - что и как влияет на фурье-спектры. Вот для раздумий самый минимальный минимум из "теор-минимума" про ДПФ:
ДПФ в комплексном виде:
Увеличить
Вещественные формулы, по которым ДПФ вычисляется в этих программках:
Увеличить
И вещественные формулы обратного ДПФ:
Увеличить |
|
Дата: 17 Янв 2014 14:41:49
#
Конвертер реального сигнала в IQ.
Работает в режиме реального времени.
На практике полезность данной программы не проверялась, но может быть, кому на что и сгодиться.)
С исходным кодом. |
|
Дата: 18 Янв 2014 21:21:35 · Поправил: Sinus (18 Янв 2014 22:15:34)
#
Programmist
Программа управления уже есть.
Да, спасибо, я её сразу заметил, но решил "не заслонять" Ваш пост своим. Пытался посмотреть, какое I/Q она выдаёт по сравнению с теми вариантами I/Q, которые получаю в своей "забаве" (нынче "забава" у меня чуть-чуть подправлена). Однако не смог, т.к. не нашёл в Вашей программе возможностей загрузки исходного файла и записи в файл результата.
Понял так, что у Вас программа Real_2_IQ только с микрофона и только "на слух" выдаёт результат. К тому же, я не смог запустить её нормально. Возможно, у меня кривой XP (SP2 без обновлений); так ли сяк ли, но окно раскрылось лишь частично.
upd: косяк исправлен :)
Я не прочь потихоньку продолжать осваивать I/Q, только хорошо бы это делать с загрузкой и записью внешних тест-файлов.
|
|
Дата: 19 Янв 2014 03:32:29
#
Стал отбирать старые демки, которые под Win 7 хорошо запускаются, да и загляделся на них :) Некоторые всё-таки весьма красивые. Все в копилку не влезли, семь штук поместилось. И туда же запаковал 4 совсем маломерных беззвучных досовских - они, конечно, под Win 7 не запускаются; а под XP хорошо идут:
Папка с несколькими демками (с сайта www.scene.org)
ЭлектромузЫчка там местами забавная, стерео, хорошо в наушниках слушается. При запуске нужно терпение иметь, т.к. всё начинается с распаковки кода и расчёта текстур, насколько понимаю; антивирусник тоже может вносить задержку. Оканчиваются демки сами, но для досрочного выхода надо нажать клавишу ESC. Одна из них оставляет после себя текстуры, их приходится удалять вручную. |
|
Дата: 19 Янв 2014 09:04:27 · Поправил: Programmist (19 Янв 2014 10:47:39)
#
Sinus
Спасибо за скриншот. Это моя старая ошибка с фиксированным размером формы. Под Win 7 скорей всего тоже будет так выглядеть.(
Поправил программу, но в копилке уже удалить не могу, поэтому положил ее в другой архив.
Понял так, что у Вас программа Real_2_IQ только с микрофона и только "на слух" выдаёт результат.
Да, с микрофона или с внешнего генератора. Сделано для проверки прибора, у которого имеется I/Q вход. Прибор еще запустить не удалось, в принципе, в программе нет ничего нового. Старая формула с FFT, а вход не из файла, а из буфера звуковой карты.
Две кнопки сделаны не случайно. Многие карты не поддерживают дуплексный режим с высоким разрешением, т. е. записывать-то она будет, но реальная частота дискретизации может оказаться в два раза ниже. На входном спектре сразу видно, для проверки выходного нужен второй анализатор.
Я не прочь потихоньку продолжать осваивать I/Q
И мне придется продолжать.) Есть железо, в котором все входы-выходы I/Q. До записи результатов там дело пока не дошло, но тема интересная.
Папка с несколькими демками
Самое интересное в них - размер исходных данных (программы). Сегодня таких значений просто нет.) |
|
Дата: 27 Июн 2014 06:18:54
#
не очень в тему но близко http://wavepot.com/ , этакий DSP пишем формулы получаем звук, ну народ фанатеет от музыки но можно генерить и не только музыку, например OFDM, http://wavepot.com/ открывать в современном интернет проводнике. |
|
Дата: 03 Окт 2014 11:10:34
#
Ребята а есть в природе "прога" которая может с аудио записей делать картинки водопада?
Вот к примеру, есть директория в ней несколько десятков записей квадратур а может и обычный REAL, записи шириной допустим 500 кГц, берем некую "прогу" натравляем на директорию и получаем картинки спектра водопада с хорошим частотно временным разрешением, дальше разглядываем картинки водопада в поисках новых и интересных сигналов..
Есть мыслишки поиграться с таким?
|
|
Дата: 03 Окт 2014 19:09:04
#
RadioKoteg
Например, софтина от Winradio G-31DDC или G-33DDC может даже в демо-режиме (когда нет приемника, а только софт от него) считать и воспроизвести IQ файл в своем формате, который является, по сути, wav файлом в стерео, только с расширением ddc.
|
|
Дата: 03 Окт 2014 20:13:40 · Поправил: RadioKoteg (03 Окт 2014 20:27:42)
#
YuriVR
Я не о том. Я о методе поиска сигналов визуальным способом, именно он мне кажется самым эффективным. Например когда записи КВ или УКВ шириной допустим 2 МГц за сутки и их размер растет до 200 гигабайт, нужно как то посмотреть на наличие новых сигналов, не будешь записи крутить и всматриваться в реалтайм спектр еще целые сутки, а прогнать некой утилитой которая в оффлайне сделает просто картинки FFT водопада из аудио записей, например джепеги которые соответствуют например имени файла вейв, потом эти картинки перелистать в обычном просмотрщике фотографий, найденные на спектре новые сигналы запомнить по метках на картинках частота время имя фала.. Где то так. В общем задача с аудио вейва создать картинки водопада и их записать в файлы джепег, дальше например ACDSEE или чем то другим быстрым визуально смотреть активность на частотах.. Ну я не знаю как по другому обработать 200 гигабайт..
Как пример, есть дивиби донгл, есть некая частота от допустим 144 до 146 МГц которая записана в файлы
HDSDR_20141003_151650Z_145000kHz_AF.wav
HDSDR_20141003_161809Z_145000kHz_RF.wav
HDSDR_20141003_171743Z_145000kHz_RF.wav
.
.
.
HDSDR_20141003_221717Z_145000kHz_RF.wav
HDSDR_20141003_231650Z_145000kHz_RF.wav
HDSDR_20141003_240949Z_145000kHz_AF.wav
Нужно просмотреть активность на этих частотах, вариант есть в онлайне еще столько же времени втыкать в монитор и есть вариант как я делаю развернуть водопад на весь экран и делать скрин шоты экрана, потом найти активности можно просто перелистывая фотографии окна HDSDR, но можно написать программу которая из этих файлов сделает
картинки водопада, по картинках можно найти активность и определить время, а по времени взять нужный файл и обработать снести спектр, отрезать..
|
|
Дата: 03 Окт 2014 20:56:10 · Поправил: RadioKoteg (03 Окт 2014 20:58:25)
#
|
|
Дата: 03 Окт 2014 22:09:51
#
RadioKoteg
Идея понятна.
Думаю, обитающие здесь программисты без труда могут реализовать указанный функционал.
|
|
Дата: 04 Окт 2014 00:36:54
#
RadioKoteg
Подобные наработки есть в ветке о донглах, например ЗДЕСЬ, ТУТ и ТУТ, может, будет интересно. Хорошо бы ещё в автомате
синхронизировать частоту кадров (снимков) с заданным временем прохождения водопада, хотя бы в той-же HDSDR.
Пробовал программой SA пользоваться, как вьювером квадратур, но там два больших минуса - ограничение по размеру
файла 150 мегабайт да и напрягает маркерами время и частоту вычислять, ну и достаточно медленно квадратуры она загружает. |
|
Дата: 04 Окт 2014 21:05:06
#
RadioKoteg если я вас правильно понял, то вам просто необходим sdr-radio v2.
Он умеет писать в папку квадратуру, а потом анализировать это дело в большой водопад. Единственное, что надо иметь большой жёсткий диск и x64 операционку (без x64 анализатор не работает).
Вот пример (1.5мегабайта) ночной записи на rtl-sdr и ягу направленную в небо. |
|
Дата: 04 Окт 2014 21:11:44
#
alexcom
похоже что уже такое готовое есть, можно и так.
|
|
Дата: 05 Апр 2015 17:01:03
#
У меня забава попроще: народ, подскажите простенькую программу , кот. вычисляет С/Ш однотонового сигнала в полосе не более 3...9кГц ( желотельно с выбором).
При измерении чувствительности, если АРУ отключена, то все без проблем -можно вольтметром воспользоваться, а если работает АРУ, то приходится изголяться - смотреть спектр и вычислять самому.
|
Реклама Google |
|