На главную страницу сайта
· Наш магазин · Объявления · Рейтинг · Статьи · Частоты · Копилка · Аэродромы · Live!
· Файлы · Диапазоны · Сигналы · Музей · Mods · LPD-форум · Клуб · Радиостанции
На сайте: гостей - 57,
участников - 5 [ Kir99, yury98, SLB_MN, bdb, augrabies]
 · Начало · Опросы · События · Статистика · Поиск · Регистрация · Правила · 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  »»Поиск в теме
Автор Сообщение
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 03 Дек 2011 20:26:07 · Поправил: Programmist (03 Дек 2011 23:33:56) #  

чем Sinus и занимается собсно, но вот читаете вы его? Вникаете ли? А как без этого?.
Читаю, тут хоть все понятно и спросить можно, если что не так, а до остального - увы...
Вы гораздо больше времени тратите впустую гоняя исходники туда-сюда.
Нельзя сказать, что впустую, структура программы должна быть построена, а это тоже достаточно важный момент, иначе все может рухнуть, с подключением нового модуля. Там тоже полно нюансов, чтоб картинка не прыгала и нормально масштабировалась, все константы и переменные попадали туда, куда положено, а там их море, хотя это и не математика, но работа должна быть сделана. Иначе, все это может остаться только моделью.
Оно конечно охота, чтобы все сразу и фильтры хорошие и демодуляторы, да и интересней гораздо, чем банальные линейки со шрифтом клепать, а куда без них? :)

з.ы.
Было бы неплохо вообще все операции с массивом вывести таким образом, чтобы обрабатывать его можно было по отдельно написанным формулам, допустим, в отдельном опциональном окне.
Небольшой шаг к этому был сделан, когда данные представлялись в текстовом виде и обработать их можно даже в Exel-e. Смешного здесь ничего нет, это достаточно мощный и понятный всем инструмент.

з.ы.ы
Тут еще немного о форматах. Наверно лучше всего сделать один внутренний формат - 32 бита Single. Тогда не нужно будет плодить кучу модулей. Пропадет необходимость постоянного контроля амплитуды, чтобы не вылетать за пределы 16-ти бит. В этом есть и некоторые недостатки, как потеря скорости обработки целых чисел, так и некоторые искажения амплитуды, при простых операциях, если в исходном сигнале были значения менее -32767. Точнее, возможно только одно такое значение для 16-ти бит, это -32768, тогда необходима нормализация всего файла, иначе на выходе можно наблюдать достаточно смешную картину.
Можно сделать обработку и в 64 бита, разницу видно, но это только для экспертизы какой-то нужно, в реальных записях такой точности нет, да и скорость обработки упадет почти в два раза.
Описание каждого формата в отдельности - наилучший вариант, но сильно все усложняется, не смотря на идентичность модулей, есть куча нюансов.
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 03 Дек 2011 20:28:50 #  

Да, жалко только, что времени мало Времени валом у бездельников.
Реклама
Google
Sinus
Участник
Offline3.0
с авг 2010
Санкт-Петербург
Сообщений: 1049

Дата: 06 Дек 2011 05:25:03 · Поправил: Sinus (06 Дек 2011 05:32:03) #  

Cделал тест-файлы с имитацией АМ, в моно и в якобы IQ-форме. Чтобы был не кот в мешке, немного об идее:

1) Хотел делать всё на первых порах по формулам - чтобы их "пощупать". Но! Пр-е Фурье по простым ф-лам - безнадёжно долгий счёт... Поэтому пользовал-таки готовые модули быстрого FT (FFT и IFFT в маткаде; они мне уже как родные, сто раз проверял - дают 1:1 то же, что простые ф-лы ДПФ). Плата за быстроту: годятся только массивы с числом точек N = (2 в целой степени).

2) И хотел обойтись без фильтров (лишь потому, что пока в них не шибко разбираюсь). Вот для этих целей ключевая формула:

T = N(НЧ) / Fdiscr(НЧ) = N(ВЧ) / Fdiscr(ВЧ) . Основные шаги:

A) Как имитировал АМ-модуляцию.
Звуковой НЧ-сигнал взял с дискретом Fdiscr(НЧ) = 16000 Hz (т.е. полоса частот в нём не шире 8 кГц. Можно бы взять дискрет и 8000 Hz, но тогда звук будет ощутимо без высоких). Число точек в нём пусть N(НЧ) = 2^17 = 131072. Тогда длительность T = 8.19 c - вполне годится для короткой фразы :)

FFT даёт массив из N(НЧ) / 2 фурье-амплитуд (на частотах f(k) = k/T). Дополняю его нулями до N(ВЧ) / 2 точек и делаю IFFT. Тем самым получаю модулирующий сигнал с прежней T, для ВЧ-дискретизации, с числом точек N(ВЧ). Выбрал: N(ВЧ) = 64*N(НЧ) = 8 388 608, так что Fdiscr(ВЧ) = 64*Fdiscr(НЧ) = 1024000 Hz. С двумя байтами на точку объём ВЧ-файлов получается 2*N(ВЧ) = 16.7 Мбайт. (Если вместо 64 брать 32 или 16, то файлы соответственно стали бы меньше, но.... что сделано, то сделано. Может оно и не худо - первую проверку провести на такой высокой частоте.)

К членам массива прибавляется амплитуда несущей и всё умножается на косинус (с какой-либо нач. фазой) с частотой несущей F. Т.е. АМ-сигнал я синтезировал во временном представлении. Сделал три таких АМ-сигнала: F1 = 500 kHz, F2 = 258 kHz, F3 = 200 kHz.

Затем почленно суммировал эти три массива, (умножив на 1/3, чтобы не выскочить по амплитуде за 2-байтный порог), т.е. объединил их в один широкополосный вещественный сигнал S(t). И записал как "моно"-вав-файл (1-канал, 16 бит, Fdiscr = 1024 kHz)

Б) Как пытался имитировать IQ.
Т.к. от фильтрации во временной области я пока отказался, то применяю FFT(S) - оно даёт массив из N(ВЧ) / 2 комплексных фурье-амплитуд Z(k). Затем исхожу из того, что фурье-амплитуды U(k) знаменитой "комплексной огибающей" это есть Z(k) со сдвигом номеров бинов: U(k) = Z(k + c), где с = N(ВЧ) / 4 - номер центральной частоты-бина в сигнале S(t); здесь k = -c, -c+1, ...c.

Если верно, что IQ-каналы это вещественные A(t) и B(t) в формуле 2*U(t) = A(t) +i*B(t), то в силу линейности фурье-пр-я такая же формула верна и для их фурье-амплитуд: 2*U(k) = A(k) +i*B(k). И поскольку у вещ. функций фурье-амплитуды с противоположными знаками k комплексно сопряжены, то после выделения из них вещ. и мнимых частей в конце-концов получаем вот такие рабочие формулы:

A(k) = Re(Z(k+c) + Z(c-k)) + i*Im(Z(k+c) - Z(c-k))
B(k) = Im(Z(k+c) + Z(c-k)) + i*Re(Z(c-k) - Z(k+c))

где k = 0, 1, ... c.

Тогда IFFT(A) даёт 2*с = N(ВЧ) / 2 значений A(t), которые, как я думаю, есть канал I. Аналогично IFFT(B) даёт B(t), то есть Q. Оба массива записал в стерео-файл с дискретом f(2c) = Fdiscr(ВЧ) / 2, т.е. 512 кГц. Причём наугад решил, что в вав-файле каналом 1 будет A, каналом 0 будет B.

В) Ну, и теперь просьба: у кого есть возможность, проверьте, плз, действительно ли эти самоделки соответствуют общепринятым S(t) и IQ :

http://www.divshare.com/download/16321293-c69
(вещ. радиосигнал S(t) в файле test-1__mono_3_AM-signals_Fd=1024kHz.wav)

http://www.divshare.com/download/16321306-d20
(претендент на IQ-сигнал в стерео-файле test-1__iq=BA_3_AM-signals_iq-Fd=512kHz.wav)

Извиняюсь за объём - файлы по 16.7 Мбайт. Повторюсь: в сигнале S(t) должны найтись 3 "АМ-радиостанции" - на частотах 500, 258 и 200 кГц (как бы в полосе "от нуля и до 512 кГц"). И те же "станции" - во втором файле, имитирующем квадратурные каналы.

Если удастся демодулировать и послушать, то вот для сравнения исходные НЧ-сигналы (файлы по 260 Кбайт):
http://www.divshare.com/download/16321324-af0
http://www.divshare.com/download/16321329-d9c
http://www.divshare.com/download/16321336-1fd
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 06 Дек 2011 13:57:37 · Поправил: Programmist (06 Дек 2011 14:05:19) #  

Sinus
проверьте, плз, действительно ли эти самоделки соответствуют общепринятым
Послушать-то я послушал, но получилось 4 станции с убитым ДД и постоянной составляющей. Результат здесь: http://files.mail.ru/07XY4E
На I/Q сигнал похож, т.е. собрался в реальный нормально, но, имхо, что-то не совсем правильно. Скорее всего, подводит мой сдвиг спектра, с простым умножением на синус. Пока разобраться с I/Q не могу, накрутился wav-ов так, что уже не понимаю где небо, а где земля. В результате получил FFT фильтр, искомого качества. Используются окна с наложением, как в частотной, так и во временной области, поэтому срез не очень ровный, но выбросы отсутствуют на любых сигналах:


Увеличить

Есть еще Hi-End фильтр, с ровным срезом, но это для сигналов, не более 192КГц. Пришел к выводу, что если делать все правильно, нужно описывать все форматы по отдельности, как и было задумано изначально. Для качественной обработки 16 бит мало, постоянно подводит амплитуда.
С I/Q разбираться все равно придется. Это задача №1 - сделать конструкцию, исключительно на FFT, с высоким качеством обработки.

зы
Сейчас у фильтра есть недостатки. Это не устойчивая работа на краях (около 0.1% спектра) и заметность прохода окон, на очень слабых сигналах, с последующей нормализацией.
petr0v
Участник
Offline2.3
с мая 2010
Balakhna
Сообщений: 412

Дата: 06 Дек 2011 13:57:46 #  

Sinus

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

Дата: 06 Дек 2011 14:15:55 #  

petr0v
Не наступайте на грабли Programmista
Нет никакой разницы, фильтры проще для понимания, а здесь устанешь все переворачивать, что в голове, что на бумаге. Мне пути назад нет :)
mikasa76
Участник
Offline1.8
с сен 2008
USSR
Сообщений: 305

Дата: 06 Дек 2011 14:21:56 #  

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

Дата: 06 Дек 2011 14:28:41 · Поправил: Programmist (06 Дек 2011 14:38:10) #  

mikasa76
одумайтесь, пока не поздно
Поздно :) (шутка).
Уже процедуру обратного преобразования пишу: из картинки - в звук, ну и обратно, соответственно :)
Да и фаза-то, фаза... FFT при фильтрации все оставляет на своих местах. Проверял.
Много зависит от качества модуля, мой рисует "звезды", в SA они встречаются реже, имхо где-то не хватает точности, а может быть результат надо каким вейвлетом сгладить.
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 06 Дек 2011 14:41:53 #  

petr0v Не наступайте на грабли Programmista - гигантизм и пихание FFT куда ни попадя. Да эт хорошо сказано. :-)

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

Дата: 06 Дек 2011 14:49:46 · Поправил: Programmist (06 Дек 2011 15:06:10) #  

Sinus
Забыл сказать, если юзать FFT, нельзя забывать про зону Найквиста. Как раз, при ее обнулении может появиться постоянная составляющая в сигнале. Опять, все зависит от модуля, у меня это так. А с сигналом, нормально или нет я сказать не могу, смущает появление "четвертой станции", надо разбираться. В конвертере у Mesh все сделано во временной области, перевернуть в частотную, я не успел, а надо будет потом, когда фильтр полностью соберу. Качество теряется в основном на фильтре, все остальное должно быть идеально, имхо.
Может оно и проще, сразу демодулировать I/Q сигнал, но тут до этого пока далеко. Раз уж речь идет о получении реального выхода, то надо пилить эту гирю до конца.
mikasa76
Участник
Offline1.8
с сен 2008
USSR
Сообщений: 305

Дата: 06 Дек 2011 15:06:50 · Поправил: mikasa76 (06 Дек 2011 15:09:25) #  

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

Дата: 06 Дек 2011 15:47:12 · Поправил: Programmist (06 Дек 2011 17:39:05) #  

mikasa76
Демодуляторы тоже будете в частотном домене реализовывать, поблочно?
До них пока далеко, в принципе без разницы, как будет реализована обработка, для этого будет достаточно добавить модуль на Паскале и назначить ему кнопку. Вся обработка разбита на модули поблочно.
Кому интересно посмотреть работу FFT фильтра, кладу здесь промежуточный результат работы над программой:
http://www.radioscanner.ru/uploader/2011/ceplus02.rar
Если амплитуда входного сигналя велика, перед фильтрацией надо ее снизить кнопочкой "AMP". Это нормализация до 88 дБ. В архиве файл для полного удаления программы из реестра. Там она хранит свои настройки, их не много, но у кого была старая версия, лучше ее удалить, чтобы не было накладок.
Изменилась схема масштабирования картинки, теперь она почти как в SA.
Результаты обработки файла Sinusa с радиостанциями, были получены в этой версии программы.
Фильтр LPF 12-го порядка, работающий во временной области, оставлен для сравнения качества. Проверять можно на белом шуме.
*Поддерживаемый формат файлов, пока только 16 бит.
*Название "Quality" для FFT фильтрации, здесь ни что иное, как число циклов обработки и в данном случае, не совсем верное.


Увеличить

Все фильтры, во временной области портят АЧХ-у и фазу сигнала, а здесь, все, что ниже частоты среза осталось в первозданном виде :)

зы
В этой версии, при значениях блока FFT более 16384, отрисовка картинки идет с 64-битной точностью.
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 06 Дек 2011 16:26:47 #  

Programmist Результаты обработки файла Sinusa с радиостанциями, были получены в этой версии программы. Пардоне резалты то где? На I/Q сигнал похож, т.е. собрался в реальный нормально, но, имхо, что-то не совсем правильно. Вот это что ли? :) Дык похож, чи нормал I/Q? Какие ж это резалты собсно?

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

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

Mesh
Пардоне резалты то где?
Так я их тут положил: [url= http://files.mail.ru/07XY4E] http://files.mail.ru/07XY4E[/url]
Только это я в своей проге вытаскивал, поэтому в сигнале может быть и все нормально. Снос-то у меня работает плохо. Смутило наличие постоянки и слабый уровень сигналов. Ничего с ними не делал, только конверсия из I/Q, снос, а децимация в Куле.
В исходниках с амплитудой все в норме, значит, снос спектру подвел.

зы
Мне тут, пока полностью не разберусь, куда чего разворачивается, судить о правильности или не правильности рано.
Если формулы Sinusa верны, тогда это и есть то, что надо. Должна быть и обратная функция, сигнал можно крутить туда - сюда бесконечное количество раз. Качество не упадет.
Сейчас устал, соображаю плохо, потом перепишу в прогу и все проверю.
Как пытался имитировать IQ
Имхо, оно не имитация I/Q, а настоящий I/Q. Имитация - все остальное. Ничего точнее и быстрее Фурье еще не придумали. Опять-же, имхо.
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 06 Дек 2011 17:28:26 · Поправил: RadioKoteg (06 Дек 2011 17:29:17) #  

Sinus Глянул и я на сигналы. действительно ли эти самоделки соответствуют общепринятым S(t) и IQ

Да.
Если взять за ПЧ 512 кГц то:
Про Китай 568,000 кГц
В Петербурге 6 часов на 509,968 кГц
Московское время 10 часов на 267,968 кГц
petr0v
Участник
Offline2.3
с мая 2010
Balakhna
Сообщений: 412

Дата: 06 Дек 2011 17:52:18 #  

Programmist

Все фильтры, во временной области портят АЧХ-у и фазу сигнала, а здесь, все, что ниже частоты среза осталось в первозданном виде :)

Вы не контролируете объективные качественные параметры, такие как неравномерность частотной характеристики, уровень спектральных наложений, от балды взяли какой-то плохой фильтр и подгоняете картинки. Стройте АЧХ в виде графика вашего фильтра прототипа, смотрите уровень боковых лепестков, заворачиваться при выбранной децимации, как АЧХ фильтров суммируются. Так можно бесконечно картинки разглядывать, фантазируя будто качественный банк построили.

Проведите эксперимент, сделайте вашим методом ФНЧ на четверть частоты дискретизации, размер блока FFT небольшой возьмите, скажем 32, подайте на фильтр синус 0 дБ с частотой аккурат между бинами крайним незануляемым и первым зануляемым, проанализируйте спектр синуса на выходе хорошим длинным FFT с окном, спектр не в виде картинок цветных, а в виде графика частота-аплитуда в дБ, у вас должна быть исходная синусойда половинной амплитуды -6 дБ и гармошки, покажите нам.
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 06 Дек 2011 17:58:49 #  

RadioKoteg Не стыкуется с тем что задумано создателем. :-) Сделал три таких АМ-сигнала: F1 = 500 kHz, F2 = 258 kHz, F3 = 200 kHz. А не стыкуется потому как спектру надо развернуть, тогда будет так как задумано. Но собсно эт чепуха конешно, но все нестыки должны иметь разумное причина, и эту причину ессно хорошо б как нить найти и обьяснить. Ну имхо ессно.
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 06 Дек 2011 18:19:46 · Поправил: Programmist (06 Дек 2011 18:51:10) #  

petr0v
Половинной амплитуды не будет, там стоит второе маленькое окно, в частотной области, поэтому срез не совсем ровный, АЧХ все-таки немного завалена перед частотой среза. Иначе ничего не получится, сигнал всегда конечен во времени. Поэтому получился обычный фильтр, только достаточно быстрый. И не понятно, чем плоха картинка, ведь это тот же самый график частота-амплитуда, только развернутый во времени, амплитуда обозначена цветом. До вывода значений в дБ дело не дошло, но их можно брать с курсора. Можно и с каждой вертикальной линии картинки получить всем привычную "расческу".
С маленьким блоком, такой фильтр работает плохо, поэтому блок взят 16384, чтобы не морочить в дальнейшем голову с его размером. Если сигнал короткий, недостающая часть добивается нулями.
Блок может быть только увеличен, в дальнейшем, при работе с высокочастотными записями. Эта процедура может выполняться автоматически, ведь от этого зависит шаг фильтра по частоте. Размер дополнительного окна (в частотной области) тоже можно менять. Чем оно больше, тем "плавней" будет срез.

зы
Сейчас в программе (Options) есть возможность переворачивать сигнал, отдельно в каждом канале и интерпретировать стерео как моно и наоборот. Сделано это не мазохизма ради, а чтобы понять, что и куда крутить, при работе с I/Q, иначе разобраться будет не просто.
petr0v
Участник
Offline2.3
с мая 2010
Balakhna
Сообщений: 412

Дата: 06 Дек 2011 19:05:31 #  

Programmist

И не понятно, чем плоха картинка, ведь это тот же самый график частота-амплитуда

И как по ней посмотреть какая неравномерность в полосе пропускания, какие боковые лепестки, какие спектральные наложения, переходная область у фильтра?


С маленьким блоком, такой фильтр работает плохо, поэтому блок взят 16384

Он и с большим размером блока плохо работает, вы просто этого не видите. А обычный КИХ ФНЧ длиной 16384 будет ну очень качественным, с крутым срезом, большим подавлением боковиков, мизерной неравномерностью и линейной ФЧХ.
asv
Участник
Offline3.0
с апр 2008
Сообщений: 1562

Дата: 06 Дек 2011 19:16:12 #  

Он и с большим размером блока плохо работает, вы просто этого не видите. А обычный КИХ ФНЧ длиной 16384 будет ну очень качественным, с крутым срезом, большим подавлением боковиков, мизерной неравномерностью и линейной ФЧХ.

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

Дата: 06 Дек 2011 19:20:24 #  

petr0v
И как по ней посмотреть какая неравномерность в полосе пропускания
Да тут пока никак. Можно только отфильтровать, сохранить, и посмотреть в другой программе, хотя искажения АЧХ я вижу и на картинке. ФНЧ, кстати, взят не самый худший, лучше у меня нет. Возможность снятия характеристик сигнала буду иметь в виду, но пока не решена основная задача.
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 06 Дек 2011 19:30:24 · Поправил: Mesh (06 Дек 2011 19:47:38) #  

Programmist ФНЧ, кстати, взят не самый худший, лучше у меня нет. Вы это про какой ФНЧ, про 12 го порядку скрин которого красуется вверху, а супротив него так называемый ФФТ фильтр с размером 16384? :-)
Да кто ж так сравнивает та качество? :-) petr0v дело говорит, и asv дело говорит, вам хотите вы или не хотите но крайне необходимо какие ни какие основы утрясти самостоятельно. Без этого мизеру, вы просто обречены.

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

Дата: 06 Дек 2011 19:41:39 · Поправил: Programmist (06 Дек 2011 19:51:00) #  

Mesh
Вы это про какой ФНЧ, про 12 го порядку
Да, он самый. Тут вот уже бесконечный туды-сюды конвертер на подходе, тогда и сравним результат, можно в текстовом файле, а пока буду утрясать, потихоньку :)

Вы за что так юзера не любите?
Я не специально, это не релиз, а рабочий вариант, как есть, только для проверки отдельных функций. Да и вот тут http://www.radioscanner.ru/uploader/2011/ceplus02.rar я вроде эту "пипку" нарисовал уже, если опять чего не попутал.
Чтобы было что-то промежуточное, всегда приходится много выбрасывать из программы, сегодня это был глючный интерфейс типа вырезать-вставить, как в Куле.
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 06 Дек 2011 19:51:36 #  

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

Дата: 06 Дек 2011 19:58:29 · Поправил: Programmist (06 Дек 2011 20:03:54) #  

Mesh
Я погодю когда вы напишите что вот де "рабочая софтина"
Процесс этот, к сожалению, бесконечный. Пока не знаю, что там вообще нужно, а что нет. Скорей всего дело кончится более или менее приведенными в порядок исходниками, а там пусть сами добавляют, кому чего надо.
Много там чего еще нет. Меня самого больше всего раздражает отсутствие кнопки "Undo", имхо это более серьезный недостаток.
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 06 Дек 2011 20:08:24 · Поправил: Mesh (06 Дек 2011 21:10:59) #  

Programmist Меня самого больше всего раздражает отсутствие кнопки "Undo", имхо это более серьезный недостаток. А эт да, тож один раз так лоханулся, другой, типо отката нет, что было хз, начинай всё сначала. Ну хорошо хоть вас это напрягает, а то так по предыдущей претензии вам оно походу было фиолетово, я ещё думал ну неужто вам самому этого не видно? Ну да ладно.

з.ы.

Да не, резалты не такие я хотел видеть.

Пардоне резалты то где?
Так я их тут положил: [url= http://files.mail.ru/07XY4E] http://files.mail.ru/07XY4E[/url]


Там ж вафки, эт уже дугой коленкор типо проблем, это уже демодинг.

Вот резалты и они мутняковые

Увеличить


Что у вас в низу самом? Зеркало? Откуда? Как узнать косяк это или реал так и есть? Как узнать какая из двух правильная, если одна косячная? Как узнать что всё остальное не сплошной косяк? Ничего никуда не двигал, просто отконвертил в реал.
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 06 Дек 2011 20:17:38 · Поправил: Programmist (06 Дек 2011 20:52:56) #  

Mesh
Ну хорошо хоть вас это напрягает
Ну да, когда обработки не было, картинку откатывать, вроде и не надо :)
Сейчас из нового только фильтр посмотреть можно, типа сойдет такой, или опять я там чего напортачил, все проверить тоже времени и знаний не хватает. С максимальной амплитудой, он не работает, как раз эти "палки" выше среза и есть результат "зашкала" 16-ти бит. Нужна нормализация автоматом, но место, в которое ее воткнуть, пока не нашел. Наверно, все-таки вся обработка будет в 32 бита, а нормализация и сохранение - потом.
Эти вопросы - только часть нерешенных проблем, а без них никуда. Одна единственная ошибка испортит все.

С амплитудой многое не понятно. Если сигнал крутить и резать сотню раз, то с каким уровнем возвращать в зад. Контроль при каждой операции это не сахар, тем более каждый раз подгонка к номиналу, ушатает этот несчастный сигнал в хлам.
Конвертация 16-ти бит в 32, при большом размере файла занимает определенное время, т. к. сразу записать 16 в 32 нельзя. Для откатов нужна временная директория, держать все в памяти не реально.
Sinus
Участник
Offline3.0
с авг 2010
Санкт-Петербург
Сообщений: 1049

Дата: 06 Дек 2011 22:22:57 #  

Всем большое спасибо за отклики на тест-сигналы-1.

Programmist
Послушать-то я послушал, но получилось 4 станции с убитым ДД и постоянной составляющей.

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

Ухудшение ДД тоже неизбежно. Понятно почему. Примем десятичное число 32000 за оценку пика любого сигнала со знаком - чтобы не выскакивать из 2-байтового формата при записи вав-файлов. Тогда надо взять амплитуду несущей = 16000 единиц, а исходный уровень модулирующего НЧ-сигнала придётся снизить в 2 раза, чтобы его пик был не более 16000 (тогда несущая + НЧ = 32000 в пике).

И это не всё. При сложении трёх АМ-сигналов в единый S(t) пришлось уровень каждого из них уменьшить примерно в три раза (чтобы сумма в пике не выскочила за 32000). Итого: исходный НЧ-сигнал оказался ослабленным примерно в 6 раз.

Если после демодуляции (и отбрасывания постоянки) умножить отсчёты НЧ-сигнала примерно на 6, то получится примерно исходный уровень громкости.

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

А 4-я станция - это какой-то глюк, щас буду разбираться.

RadioKoteg
Не соображу, о какой ПЧ речь. Мой моно-сигнал это как бы запись эфира в полосе от 0 до 512 кГц. Середина полосы = 256 кГц. При переходе к IQ частота 256 кГц переносится на 0, может быть это и есть ПЧ?

"Станции" я так и выбирал, чтобы после указанного сдвига спектра F1 осталась в области положительных частот, F2 села бы вокруг нуля, а F3 попала бы в область отрицательных частот комплексного сигнала U(t).

Mesh, спасибо за проверку; скрины не повредят. Чекить-то я, конечно, как сумел прочекил перед выкладыванием. У меня, ессно, всё нормуль демодулировалось, но в том и дело, что хорошо бы чекить независимыми методами. А иначе какой прок мне чекить свои ошибки своими же ошибочными чекилками :)
Mesh
Участник
Offline4.0
с мая 2006
Сообщений: 6169

Дата: 06 Дек 2011 22:54:52 #  

Sinus А 4-я станция - это какой-то глюк, щас буду разбираться. У кого глюк, у вас в сигналике? Я хз, там всё гламурно имхо. Глюк где-то в других местах.

Вобще идея I/Q усилено сводится к впихиванию всего что можно в запись. Если почитать статьи и ту на каку вы ссылаетесь, и то как оно тут раскручивалось а я это помню, то I/Q это гарантия доставки сигналика всем желающим без искажух. А то что юзеру проще ткнуть на запись всего что он видит, чем озадачится записью того что нужно ну эт знамо дело задача решения не имеющая. :-) Ведь не юзер будет разбирать, а кто-то там где-то, ну и фигли юзеру заморачиватся? Всё это тут уже было в разных ипостасях обговорено, и обмусолено, тока воз и нынче там.

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

Дата: 06 Дек 2011 23:05:42 · Поправил: Programmist (06 Дек 2011 23:34:24) #  

Sinus
Ухудшение ДД тоже неизбежно.
Вот-вот, поэтому работать будем в формате 32 бита, чтобы не делить сразу уровни сигналов на их количество. Уменьшить можно потом, то, что получится из сложения.
А 4-я станция - это какой-то глюк, щас буду разбираться.
Ничего страшного, имхо это уже мелочи.
Сделал дополнительные модули c кнопками I/Q2R и R2I/Q. Пока в них только прямое-обратное преобразование массива с данными, т.е. работают, но не делают ровным счетом ничего (заготовка под Вашу формулу, конвертер моно-стерео). Сегодня формулу вписать не успею, если что не выйдет, спрошу помощи. В принципе, все должно получиться, тут нет никаких окон, следовательно это будет конвертер с абсолютной точностью и высокой скоростью работы. Вот оно - счастье! :)

Mesh
Что у вас в низу самом? Зеркало? Откуда? Как узнать косяк это или реал так и есть?
Не знаю, может быть ошибка в конвертере, надо сравнивать с SA, а у меня его нет.
Спектрометр Кула ту же картину рисует, чисто после конвертера:


Увеличить

Ничего, найдем и поправим. Модуль я вроде верно подключил, сейчас еще раз перепроверил.
Да Бог с ним, если получится на FFT, это будет праздник!
Реклама
Google
 Страница:  ««  1  2  3  4  5  ...  31  32  33  34  35  »» 

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