На главную страницу сайта
· Наш магазин · Объявления · Рейтинг · Статьи · Частоты · Копилка · Аэродромы · Live!
· Файлы · Диапазоны · Сигналы · Музей · Mods · LPD-форум · Клуб · Радиостанции
На сайте: гостей - 55,
участников - 5 [ Solder, ra3tmo, Voevoda, Dark Stranger, Несущий свет]
 · Начало · Опросы · События · Статистика · Поиск · Регистрация · Правила · FAQ · Галерея ·
 Форум —› Прочее —› Спектральные игры. FFT, I/Q и прочие забавы. 
Си-Би радиостанции в нашем магазине: Alan и Midland, Alinco, Intek, MegaJet, President, Yosan, Беркут, Таис


Alan 48 Excel
руб.

Alinco DR-135CBA New
руб.

MegaJet MJ-3031M Turbo
руб.

President Harry III ASC
руб.

Yosan Stealth 5
руб.
 Страница:  ««  1  2  3  4  5  ...  31  32  33  34  35  »»Поиск в теме
Автор Сообщение
DVE
Участник
Offline3.8
с ноя 2006
EU
Сообщений: 5098

Дата: 02 Дек 2011 21:07:46 #  

Programmist
> Так спектр она сносит? Сносит. Теток видно? Видно

Тема теток не раскрыта :) Скриншоты в студию :) Вот SA Free их точно не показывает, может в полной версии есть, надо у Mesh спросить...
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 02 Дек 2011 21:20:56 · Поправил: Programmist (03 Дек 2011 10:11:34) #  

Sinus
Или я не правильно понял эту фразу, или здесь принципиальная ошибка. Ведь по Y идёт шкала частоты, и на ней должны умещаться частоты из заранее фиксированного диапазона: от 0 до Fdiscr/2. Этим диапазоном и определяется размер всех блоков по вертикали.
Должны умещаться, но реально всех частот там нет. Разрешение по частоте (Y) задается размером блока FFT/2. Чтобы там присутствовали все частоты, с шагом в 1 Герц, размер блока должен быть равен Fdiscr, что не возможно т.к. блок - степень двойки. С картинкой тут как раз все в порядке.
А сотворил какое-то безобразие со сносом частоты. Неизвестно зачем умножив массив с данными на синусоиду, когда надо умножать комплексную экспоненту этой синусоиды на комплексную экспоненту сигнала, потом конвертить в реал, ну или что-то в этом роде, надо разбираться, или напишите нормальную формулу, что на что надо умножать. Голову можно сломать, пока поймешь, что там и в какую сторону будет перевернуто.

з.ы.
Т.е. картинка более короткого (во времени) блока должна размазываться по частоте, терять чёткость вдоль Y, но при этом занимать прежнее количество пикселей по Y.
Совершенно верно, только размазывать (растягивать) картинку я не стал. Это делает графический модуль, реальное количество пикселей на битмапе по оси Y, всегда остается равным количеству полученных амплитуд (половина блока). Модуль FFT комплексный, вторая половина блока, является точной зеркальной копией первой, как по I, так и по Q. Частоты Найквиста не отображаются и закрашиваются на картинке чередующимися черными и синими пикселями.
*Под битмапом здесь подразумевается не то, что видно на экране, а реальный битмап, который выдается при сохранении и чей размер указан в статусной строке.

DVE
Тема теток не раскрыта :) Скриншоты в студию :)
А у меня показывает :) Вот она, тетка, которая "Андреевский спуск":


Увеличить

Вторая сидит много ниже :) Файл - оригинальный I/Q, без обрезки и обработки в других редакторах.

з.ы.ы.
Написано на тему сдвига много интересного. Кто два гетеродина предлагает, кто несколько страниц формул, с предупреждением, что в итоге все равно получится хрен знает что. А нужно нормальное и понятное решение.
А то, что сейчас есть, это точно для мазохистов находка. Можно получить из тети дядю или какое другое существо инопланетное, поломав перед этим голову, в какую сторону крутить :)
И подход к проверке здесь может быть только один: Не работает - в мусорку, а проблему - в студию :)
В общем, нормально пока только кнопки на нижней панели работают, ну и LPF еще, правда, не понятно зачем он там сейчас нужен.
Реклама
Google
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 02 Дек 2011 21:35:30 · Поправил: Mesh (02 Дек 2011 21:43:17) #  

DVE Тётки в SA? Да какая проблема то, а как я получал их тогда? Ещё б SA полная этой ерунды не делала. :-) Я SA фри не юзаю, как то нет особого желания назад откатыватся, да и нет там половины того что нужно, реал отставшая версия на много ходов в зад.

Ссылко цитата
Для ориентиру тётя1 так говорит http://www.radioscanner.ru/uploader/2011/tyty1.wav
тётя2 так http://www.radioscanner.ru/uploader/2011/tyty2.wav
DVE
Участник
Offline3.8
с ноя 2006
EU
Сообщений: 5098

Дата: 02 Дек 2011 21:50:22 · Поправил: DVE (02 Дек 2011 21:50:49) #  

А, я-то думал сис картинка какая типа SSTV, ну а так неинтересно :)))
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 02 Дек 2011 21:59:37 #  

DVE
ну а так неинтересно :)))
SA Full покажет все! :)))
sea
Участник
Offline3.3
с авг 2006
Ярославль
Сообщений: 832

Дата: 03 Дек 2011 14:24:48 · Поправил: sea (03 Дек 2011 14:26:11) #  

Sinus в целом ваша идея нравится - создать набор тестовых сигналов, показать общепринятые алгоритмы. И пусть Mesh'у это не интересно, что есть программы, что есть сигналы и все это нахненадо. Пусть будет. Пусть будут еще программы, пусть программисты придут к выводам. Вот мол есть куча сигналов - я вот мало нашел полезного для себя. Нафиг идеалистические сигналы - надо с реальными сигналами работать. Так надо сначала 2 на 2 умножать научиться, а потом в ВУЗ идти. От простого к сложному, а не сразу.
Вы, Mesh, прямо как поручик Ржевский. Вроде появляется какое-то действие на форуме, и тут приходите вы и говорите "оно мне не надо, у меня все есть, все и так понятно". Просить вас заткнуться и перестать выеживаться у меня права нет. Но в целом уже надоело. А дальше по всем правилам жанра вы меня пошлете вон из темы или ресурса... Скукота.
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 03 Дек 2011 15:14:04 #  

sea Просить вас заткнуться и перестать выеживаться у меня права нет. Ой как мило! Да как скажете тов начальник. Заткнутся так заткнутся, ни каких поблем у мя с этим сособо не будет. На скока мне затнкутся, на месяц, на два, на совсем? Ваши предложения плз в студию.
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 03 Дек 2011 17:10:50 · Поправил: Programmist (03 Дек 2011 17:30:15) #  

sea
Нафиг идеалистические сигналы - надо с реальными сигналами работать.
Так тут и есть реальный сигнал, с тетками, другое дело, что не все получается, так, что если до критики, то оно правильно, а то я прилепил генератор, посмотрел - вроде спектр двигает, теток слышно, а дальше проверять не стал, занялся совсем другим, иначе и не узнал может никогда, что такой вариант непригоден.
Посему вопрос остается открытым: Чем правильно двигать спектр?
Диапазон может быть от 1КГц до 10ГГц, шаг сдвига нужен не более 1Гц, хорошо, если будет возможность работы с десятичными знаками.
FFT с блоком огромного размера, подстраивающееся под сигнал - это жесть :)
petr0v
Участник
Offline2.3
с мая 2010
Balakhna
Сообщений: 412

Дата: 03 Дек 2011 17:31:36 #  

Умножаете сигнал на комплексную экспоненту и смотрите спектр. Чего не получается то?
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 03 Дек 2011 17:44:17 · Поправил: Programmist (03 Дек 2011 18:17:21) #  

petr0v
Умножаете сигнал на комплексную экспоненту
А где эту экспоненту взять? Разложить синусоиду и сигнал прямым FFT, перемножить результаты real*real, image*image, потом обратное преобразование, и что в этом случае делать с частотами Найквиста?
Уж извините, если ступил чего, не могу понять, что здесь к чему.
petr0v
Участник
Offline2.3
с мая 2010
Balakhna
Сообщений: 412

Дата: 03 Дек 2011 18:15:27 #  

Комплексная экспонента e^(j*2*pi*f*t), в нашем случае её дискретный вариант. Формулу Эйлера знаете? Как фазовый аккумулятор делать и синусы-косинусы из таблицы выбирать вроде недавно обсуждалось. Комплексные числа умножать умеете? Умножаете сигнал во временной области на комплексную синусоиду и смотрите спектр этого комплексного сигнала комплексным FFT, весь спектр, отрицательную часть тоже, как он двигается в зависимости от частоты.
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 03 Дек 2011 18:30:44 #  

Programmist иначе и не узнал может никогда, что такой вариант непригоден. Да ладно, sea подскажет терь если чо. :-)
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 03 Дек 2011 18:34:02 #  

petr0v
Есть два массива: DataArray и SineArray, в одном сигнал, в другом, соответственно чистая синусоида, есть модуль FFT, функция exp(x) тоже есть, встроенная. Таблиц синусов-косинусов и фазового аккумулятора нет. Разве того что есть мало, надо еще и таблицы делать?
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 03 Дек 2011 18:39:05 #  

Mesh
Да может подскажут чего, пока единственное, что хорошо научился делать - это умножать каждый четный или нечетный элемент массива на -1 :)
mikasa76
Участник
Offline1.8
с сен 2008
USSR
Сообщений: 305

Дата: 03 Дек 2011 18:39:21 #  

Programmist Прошу прощения, что вмешиваюсь, но мне кажется что Ваша ошибка изначально заключалась в том, что вся обработка велась в частотном домене, может пока не поздно перейти во временную область, так будет проще. А спектр можно смотреть и так в каждой контрольной точке. ИМХО все это конечно. Удачи :)
Sinus
Участник
Offline3.0
с авг 2010
Санкт-Петербург
Сообщений: 1055

Дата: 03 Дек 2011 18:44:23 · Поправил: Sinus (03 Дек 2011 19:03:13) #  

petr0v
Умножаете сигнал на комплексную экспоненту и смотрите спектр. Чего не получается то?

Прошу извинить, если не прав, но Programmist спрашивает нас, имхо, не об идее в общем её виде, а о конкретных формулах, которые напрямую, без доработки, можно было бы включить в код программы.

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

В данный момент проверка включает синтез простейших (для начала!) сигналов, имитирующих моно- и IQ- записи с частотой дискретизации 1.024 MГц; скоро, м.б. даже сегодня, если не отвлекаться на диалоги, выложу имитацию такой записи с АМ-модуляцией - чтобы знатоки, если сочтут это для себя интересным и не унизительным, проверили бы, то ли что надо получается у начинающего sdr-щика :). Если то, значит с пониманием у меня всё в порядке, и следующий шаг будет - проверка правильности сдвига спектра, вырезания более узкой полосы с соответствующим передискретом - то, что требуется в задаче, поставленной (перед начинающими sdr-щиками самоучками:) RadioKoteg-ом. Мне всё это ново и дико интересно, т.к. я узнал о возможности вав-записи радиочастотных сигналов совсем недавно (от Programmista и RadioKotega, и был так удивлён, что поначалу принял всё за шутку )))

И вот, когда я на 100% буду уверен, что во всём разобрался правильно, тогда постараюсь предельно подробно рассказать Programmistу, что надо включить в код программы. А может быть Programmist к тому времени уже сделает всё сам, или с Вашей помощью.

Чего не получается то?

Есть чему не получаться, если человек не привык к вычислениям в комплексной алгебре. Ведь IQ-файл это два массива. Код программы, вероятно, пишется как действия с вещественными числами. Комлексная экспонента это тоже два массива. Надо сообразить - что на что множить, с какими знаками складывать, какой знак частоты в экспоненте выбрать, нужно ли ввести в эту экспоненту подстраиваемую начальную фазу, как фильтровать результат и децимировать его, и как окончательный результат правильно представить опять в двух массивах IQ. И нужна ли вообще предварительная конверсия в моно-формат. Тут много мест, где можно ошибиться.

Кстати, у меня тоже есть вопрос к знатокам: верно ли, что I - это физич. огибающая, умноженная на косинус фазы комплексной огибающей, а Q - на синус? (т.е. I и Q - это дискретизованное то, что Баскаков называет A и B). Или наоборот, как вроде бы где-то говорилось на форумах?
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 03 Дек 2011 18:45:12 #  

Programmist Да подскажут, подскажут, тут имхо только и делают что подсказывают, если куратор темы sea будет веселится где нить в цирке, а если на форуме ему скучно може вобще куда свалит. :) Но вот главной подсказки вы как бы и не слышите, типо книжечку какую глянуть, для приличия что ли? :-) Имхо ессно.
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 03 Дек 2011 18:52:24 · Поправил: Programmist (03 Дек 2011 19:12:42) #  

mikasa76
Да тут и обработки, собственно никакой нет, как оказалось кроме инверсии и красивой картинки ничего больше не работает.

Sinus
Код программы, вероятно, пишется как действия с вещественными числами.
Кода обработки нет. Все усилия были направленны на создание структуры программы, где все живет своей жизнью: Визуализация отдельно, модули обработки сигналов (массивов) - отдельно, просто в любой момент можно посмотреть, что в массиве. Точно так же вставлен модуль конвертера, который делал Mesh. Добавлять можно любые модули, в этом и есть главное достижение на сегодняшний день.
Пока займусь линейками, это тоже к обработке никакого отношения не имеет.
mikasa76
Участник
Offline1.8
с сен 2008
USSR
Сообщений: 305

Дата: 03 Дек 2011 19:00:46 #  

Programmist Ну тогда, как говорится, сам Бог велел :)
petr0v
Участник
Offline2.3
с мая 2010
Balakhna
Сообщений: 412

Дата: 03 Дек 2011 19:08:39 · Поправил: petr0v (03 Дек 2011 19:10:01) #  

Programmist

Есть два массива: DataArray и SineArray, в одном сигнал, в другом, соответственно чистая синусоида, есть модуль FFT, функция exp(x) тоже есть, встроенная. Таблиц синусов-косинусов и фазового аккумулятора нет. Разве того что есть мало, надо еще и таблицы делать?

Учитесь работать с комплексными числами как с обычными, во времена досовского паскаля это прямо в хелпе было расписано. Поблочная обработка по результату не должна отличаться от непрерывной отсчёт за отсчётом. Т. е. фаза синусоиды не должны рваться при переходе от блока к блоку. В SineArray должна содержаться комплексная синусоида, по формуле Эйлера вам надо вычислить от фазы не только действительную но и мнимую часть.

Sinus

I - реальная часть комплексного числа, Q - мнимая, все остальные сущности лишние.
Sinus
Участник
Offline3.0
с авг 2010
Санкт-Петербург
Сообщений: 1055

Дата: 03 Дек 2011 19:11:49 #  

petr0v, спасибо!
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 03 Дек 2011 19:17:38 #  

petr0v
Учитесь работать с комплексными числами как с обычными
Это можно, здесь просто мы говорим на разных языках, язык Матлаба отличается от Паскаля, который прочно засел у меня в голове, все дело в различном описании структур.
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 03 Дек 2011 19:18:40 #  

Programmist Да блин! Точно, там ж в этом модуле помему всё и есть для сдвижек, только надо вместо частного генератора который там в двух табличках вроде из четырёх чисел и который для случая f=Fd/4, влепить нормал генератор и всё.
petr0v
Участник
Offline2.3
с мая 2010
Balakhna
Сообщений: 412

Дата: 03 Дек 2011 19:26:42 #  

Programmist

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

Не забываем что действительные числа это тоже комплексные у которых мнимая часть равна нулю.
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 03 Дек 2011 19:28:14 · Поправил: Programmist (03 Дек 2011 19:36:23) #  

Mesh
в этом модуле помему всё и есть для сдвижек
Возможно, что есть, я сходу разобраться не смог, только подкрутил немного LPF и константу с амплитудой, короче теперь там сначала исходная максимальная меряется, потом, если она была велика, уменьшается, а после конвертера возвращается обратно. Не знаю, насколько стало лучше или хуже, но таким способом убрал глюк, связанный, с максимальной амплитудой в исходнике.

petr0v
Могу, например так представить комплексное число X:
X = Record;
Re: Double;
Im: Doube;
end;
Потом можно написать функции работы с ним, как с простым, или каждый раз выполнять все действия вручную, с каждой частью числа, тогда такой код будет работать быстрей.
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 03 Дек 2011 19:34:14 · Поправил: Mesh (03 Дек 2011 19:43:10) #  

Programmist Не блин, эт я пургу спорол, там в модуле только половина того что нужно. Причём тут язык Матлаба отличается от Паскаля? Это чисто математика, кто и как на какой язык это будет переносить вобще вопросы другого сорту. У Полякова это расписано, у Тяжева, у Сергеенко, да в любой книжке по ЦОС эти сдвижки спектра есть. Книжек этих полно тут на сайте. Вы не пройдёте мимо книжек, мимо этого "напитку", вы отвернётесь сейчас, кто нить в рот положит, но судба будет подносить вам эту чашу снова и снова, пока вы её не выпьете. :-) Так мир устроен. Причём я не грю, что вы должны пилить гранит науки, эт дело совсем другое, но основы хоть какие-то нужны, чем Sinus и занимается собсно, но вот читаете вы его? Вникаете ли? А как без этого?. Ну или тогда это будет Васька номер -цать.
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 03 Дек 2011 19:42:13 #  

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

Дата: 03 Дек 2011 19:46:14 · Поправил: petr0v (03 Дек 2011 19:48:45) #  

Programmist

Могу, например так представить комплексное число X:
X = Record;
Re: Double;
Im: Doube;
end;
Потом можно написать функции работы с ним, как с простым, или каждый раз выполнять все действия вручную, с каждой частью числа, тогда такой код будет работать быстрей.


Да как угодно, но первый вариант вам будет полезнее чисто для понимания. И не валите всё в одну кучу, разбивайте в голове все ваши непонятки на отдельные части. Пробелы в математике это одно, перевод математики в паскаль это другое.
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 03 Дек 2011 19:47:31 #  

Programmist Да вам решать, велика потеря чи нет. :-) Да, жалко только, что времени мало Ткните пальцем у кого его много? :)
petr0v
Участник
Offline2.3
с мая 2010
Balakhna
Сообщений: 412

Дата: 03 Дек 2011 19:53:27 #  

Programmist

Да, жалко только, что времени мало

Вы гораздо больше времени тратите впустую гоняя исходники туда-сюда. Квадратурный модулятор-демодулятор это такой ничтожный вопрос...
Реклама
Google
 Страница:  ««  1  2  3  4  5  ...  31  32  33  34  35  »» 

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