PDA

Просмотр полной версии : Предложения по функциональности программы для SDR



Страницы : [1] 2 3 4 5 6

YuriP
02.09.2007, 21:53
Изучив форумы установил, что практически не обсуждаются программы SDR, их алгоритмы, интерфейсы, функциональность.

Есть мысль написать отечественную программу для SDR. Приглашаю всех желающих высказаться по вышеперечисленным вопросам. На мой взгляд программа должна иметь простой интерфейс, максимальные площади для спектра, спектрограммы и аппаратного журнала с возможностью прослушивания записанных в нем QSO.

Mr_Alex
03.09.2007, 02:25
Хорошая тема нарисовалась.

Поскольку я не программист и никогда им уже не буду, то слепил себе простенькую SDR программу на LabView для сделанного приемника-сканнера на основе TV тюнера.

Так это выглядит (51 кбайт) (http://mr-murka.nm.ru/SDR_1.png)

Обычный LabView конечно не для real-time приложений, но работает вполне сносно, а уж возможностей по управлению и всяких примочек (память, конфигурации, быстрый выбор частот и т.д. ) - нет равных.

Жаль, что нельзя сделать простой exe-файл без установки Run-Time Engine (а это почти 90 Мбайт), и это портит всю малину.

RZ6FY
03.09.2007, 07:49
Хорошая тема нарисовалась
Полностью разделяю это мнение!



Поскольку я не программист...
"Непрограммист непрограммиста видит издалека..." (народная поговорка), отсюда вопрос:

...на LabView ...
Где почитать об этой штуке? Уж больно мордочка симпатичная у Вашего тюнера!...

С уважением,
RZ6FY, Павел

RA9YTJ
03.09.2007, 10:22
Эта тема не однократно поднималась сдесь на форуме, но неполучала развитие. Дальше всех продвинулся UR5ZQV со своей программой SDR, написанной в hiasm. Я тоже заинтересовался этой темой, проводил экспиременты с алгоритмами SDR, в сущности само ядро обработки не так сложно, но написать аналогичную PowerSDR, в одиночку довольно сложно, плюс надо продумать систему взаимодействия железа с программой. В первую очередь управление синтезатором( который может быть построин по разным схемам). Я пока занялся разработкой и изготовлением аппаратной части. Далее надеюсь написать простенькую программу SDR TRX.
И есть запинка, самая распространенная звукавая карта - это интегрированная, но она дает не высокое качество обработки.
Тема "SoftSDR.RU" должна быть не отделима от разработки аппаратной части" народного SDR TRX", где из-за дороговизны и малой доступности нет места DDS. и FST.
А общие принципы работы алгоритмов описаны UR5ZQV, где то на форуме сдесь.
Я сам с удовольствием присоеденюсь к группе разработчиков, если такая организуется. В ней обязательно должны быть опытные программисты, без них создание эффективной удобной программы станет утопией.
Еще нужен математик.

Mr_Alex
03.09.2007, 12:17
RZ6FY
Лучше не начинать c LabView, это затягивает вплоть до бессонницы. :)
Но если решишься, то посмотри тут:
http://www.vitec.ru/main.php?action=publ&subaction=articles&param1=article_01
и тут:
http://www.picad.com.ua/lesson.htm

Имхо, основная проблема создания "народной" программы – это отсутствие хорошего программиста, который бы увлекся идеей и довел дело до логического завершения.
Алгоритмы давно "разжованы", а исходники многих программ выложены в инете. Нэт этнтузазиста по сборке этого добра в целое. (а это, действительно, займет много свободного личного времени.)

UR5ZQV
03.09.2007, 14:18
RA9YTJ

надо продумать систему взаимодействия железа с программой. В первую очередь управление синтезатором
Эту проблему уже успешно решил Павел (RZ6FY) с бытовыми синтезаторами LM7000 с управлением по СОМ порту. И имея свои исходники взаимодействие с "железом" не должно вызвать проблем. А вот программист-системщик крайне желателен. Для создания тиражируемой проги требуется отловить и локализировать баги возникающие при тестировании на различных осях из за особенности платформ.

И есть запинка, самая распространенная звукавая карта - это интегрированная, но она дает не высокое качество обработки.

Я думаю не стоит преувеличивать "плохость" интегрированных карт. Конечно 130дБ динамики от нее не получить но и 90дБ не мало даже для средненьких аналоговых TRX. По крайней мере с полгода использую СДР со встроенной ЗК и простеньким "железом" на однотактных ключах с полевиками на 80м и особого дискомфорта не ощущаю. Да и потом прога никому не мешает в дальнейшем модернизировать железо.

RA9YTJ
03.09.2007, 17:58
[quote]А вот программист-системщик крайне желателен. Для создания тиражируемой проги требуется отловить и локализировать баги возникающие при тестировании на различных осях из за особенности платформ.

Вот в этом я наверное могу помочь.
Кстати я ВАМ забыл сообщить, я нашел причину не работы вашей программы на моем домашнем компьютере. Изучил код места вылетания ошибки IDAй(интерактивный дизассемблер).
Код в вашей программы с указанием места ошибки:


procedure THiAsmClass.doSelect (var _Data:TData; Index:word);
var i,N:integer;
begin
Sorce := ReadInteger(_Data,Sr c,_prop_Src);
MK := ReadInteger(_Data,Se tMic,_prop_SetMic);
LIN := ReadInteger(_Data,Se tLine,_prop_SetLine) ;
MCD.cbStruct := SizeOf(MCD);
MCD.dwControlID := PRi[0]^.dwControlID;//---------------ERROR!!
MCD.cbDetails := SizeOf(MCDA);
MCD.paDetails := @MCDA;
MCD.cChannels := 1;
MCD.cMultipleItems := PRi[0]^.cMultipleItems;;//---------------ERROR!!
mixerGetControlDetai ls(MixerID,@MCD,MIXE R_GETCONTROLDETAILSF _VALUE);
for i := 0 to 20 do MCDA[i] := 0;
if Sorce = 1 then N := MK; if Sorce = 2 then N := LIN;
MCDA[N] := 1;
mixerSetControlDetai ls(MixerID,@MCD,MIXE R_SETCONTROLDETAILSF _VALUE);*)
//_hi_OnEvent(onOk,PMi[1].fdwControl);
end;

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

DRUID 3
03.09.2007, 20:33
RZ6FY
Имхо, основная проблема создания "народной" программы – это отсутствие хорошего программиста, который бы увлекся идеей и довел дело до логического завершения.
Алгоритмы давно "разжованы", а исходники многих программ выложены в инете. Нэт этнтузазиста по сборке этого добра в целое. (а это, действительно, займет много свободного личного времени.)

??? Где есть??? :D

А если серьезно то пытался поднять тему, но не нашел сторонников. Правда, если быть до конца честным, то пару человек на электрониксе заинтересовалось, но там, а не на cqham. Значит мои пожелания к проге "мультиплатформенност ь", С/С++ язык и GNU. Вот только в дешевых синтезаторах я совершенно не заинтересован. Не нужно раздувать проблему сейчас все могут доставить куда угодно, да и стоимость их совершенно невелика. Просто раз уж делать, то нечто серьезное, чтобы был эдакий фазовый переход в качестве а не "навороченный примус" толку с которого - радость созидания своим ваятелям. :D Кстати такие GNU проекты пишуЦЦо как раз "с расчетом на бесконечность". Т.е. все время усовершенствуются, дорабатываются, именно не потому что плохие, а потому что прозорливые "ваятели" заложили огромный потенциал для совершенствования, который затем используют уже совершенно другие разработчики.

Если будет именно такой проект, то берусь написать для него всю ЦОС часть, освоив при этом новые для себя темы, например адаптивная фильтрация :) .

Кстати, шкурку (GUI) можно писать на Qt. Тоже смогу оказать посильную помощь, поскольку по-работе нужно разбираЦЦо с Qt.

YuriP
03.09.2007, 21:46
Здесь немного отвлеклись.Безусловн о интерфейс с железом очень важен и его можно "узаконить", поскольку он имеет ограниченную и вполне четкую функциональность."Мультиплатформенност ь",GNU это для америкосов, которые пользуются исключительно лицензионным софтом.Базовые алгоритмы ЦОС также известны. А вот что должно быть на морде?. Или Например АРУ с опережением- это привелегия только ЦОС, из этой же истории корреляционный фильтр импульсных помех. А по интерфейсу: Проводит человек QSO редким Dx, не расслышал позывной, чтож ему еще 10 минут ждать его???? Ну и тд.Давайте мысли и будем рожать прогу!!!!!

RZ6FY
03.09.2007, 22:41
...пытался поднять тему, но не нашел сторонников...
...мои пожелания к проге "мультиплатформенност ь", С/С++ язык и GNU ...
...раз уж делать, то нечто серьезное..."с расчетом на бесконечность"...
...огромный потенциал для совершенствования...
... Если будет именно такой проект...

Вам не приходило в голову, что отсутсвие (или малочисленность) у Вас сторонников можно объяснить подчеркнутой амбициозностью Ваших проектов?... Есть такая русская поговорка: "Замах - на рубль, удар - на копейку!" Вот и получается, что хорошие грамотные программисты (к которым, безусловно, Вы относитесь) годами вынашивают свои "с расчетом на бесконечность" пректы, которые, в конечном итоге, так проектами и остаются... А ведь реального результата зачастую добиваются не "крутые" специалисты, а фанатики - люди, безраздельно увлеченные какой-то идеей, пусть и, на начальном этапе, слабо представляющие себе, как они будут ее воплощать... Вот привлечение таких увлеченных людей в тему SDR и есть сейчас то главное, что может сдвинуть дело "с мертвой точки"! Привлекать же нужно не призывами, не гипотетическими проектами, а дать возможность, хоть в "первом приближении" почувствовать тему в "софте" и в "железе"... С "софтом" нам хоть Flex-ы и другие "забугорные" программисты помогли (огромное спасибо!), а вот ихнее "железо" далеко не всем на просторах бывшей империи по карману... И далеко не каждый радиолюбитель, прекрасно разбирающийся в технике КВ-радиосвязи (а речь идет об SDR именно этого направления), возьмется сразу за копирование SDR-1000!..
Вот и ходят все мимо, напуганные мнимой сложностью...
Я совсем не против амбициозных проектов, но начинать надо (а мы ведь начинаем?!) с простых, доступных в повторении максимальным числом радиолюбителей конструкций и несложных в пользовании программ. Тогда из тех, кто попробует, наверняка в теме останутся хоть и небольшое число, но увлеченных людей! И только тогда возможно появление "народных" и программ и "железа"...

С уважением,
RZ6FY, Павел

RA9YTJ
04.09.2007, 04:32
Полностью согласен с RZ6FY, действительно не надо изначально ставить задачу создание конкурента SDR-1000, тот кто хочет все приемущества данного трансивера, купит или сделает его. Нужен ПРОСТОЙ и ДЕШЕВЫЙ TRX SDR, если у меня валяется lm7001 и груда 74ac микросхем, зачем мне искать и тратится на DDS? Всетаки тема SDR реально не завоевала авторитет среди большенства радиолюбителей, по простой причине, они их видели только на картинке, а покупать сие устройство за килобаксы не каждый рискнет. Я вот в своем радиоклубе проводил "призентацию" SDR, результат почти 0, все уперается в недоверие такой технике, нет аппарата в натуре, я вот не вс состоянии купить SDR1000, и даже неготов купить звуковуху для нее, и таких большенство.
Сейчас складывается ситуация:
SDR ново перспективно, но пока для большинства НЕИЗВЕСНО и НЕДОСТУПНО! Сдесь на форумах обсуждается в большенстве 3 темы: как пользоватся SDR1000, как его сделать самому, и как сделать попроще и прикрутить к PowerSDR.
Вывод, продвижение SDR в массы невозможно без создания простой, быстрой!(не у всех радиолюбителей есть крутые компы), и самое главное легко настраиваемой под железо программы SDR. Пусть она будет гораздо проще чем американская.
В конечном итоге большинство радиолюбителей имеют трансиверы типов UW3DI, UA1FA, Дружба Росса, а то и Аматор, и им ненужны супер параметры.

Relayer
04.09.2007, 10:04
не хотел, но чувствую прийдется :) не хотел т.к. сейчас совершенно нет времени заниматься этим с полной отдачей. а прийдется т.к. как ни крути а 20 лет программирования всего чего угодно за плечами имеется :)
теперь касательно концепций.
1) мультиплатформенност ь фтопку. я серьезно.
2) писать на дельфе. спрячте ваши тапки - я могу аргументировать :) цэ/цэ++ не подходит в силу своей сложности для непрофессионального программиста. васики ... умерли они - под дотнетом все. дельфа позволит во первых не парится с гуем, во вторых встроенный ассемблер позволит там где надо оптимизировать код. так что с производительностью будет все ок. с другой стороны дельфи-паскаль достаточно прост для чтения и понимания логики работы программы
3) система должна обязательно иметь плагинную архитектуру. плагины отвечают за сопряжение с железом (управление синтезатором к примеру) и дополнительные ЦОС-примочки. с проработки спецификаций такой архитектуры и надо начинать. в идеале сама прога (т.е. ядро) реализует минимум функций которые нужны всегда. все остальное - плагинами. и еще чем удобен такой подход - хочется написать какой-то супер-дрюпер фильтр или прицепить самопальный синтезатор - берем API для плагина и пишем небольшой модуль. причем писать его можно на чем угодно - хоть на цэ хоть на ассемблере. также не забываем что плагин может быть как с внешними (интерфейсными) элементами управления/визаулизации так и не иметь их.
4) open source. все должно быть доступно в исходниках.

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

UR5ZQV
04.09.2007, 10:47
To RA9YTJ:
Сергей, вот последняя версия(приложение и SHA). Может быть важно - версия HiAsm b162, компилятор Delphi4. При использовании b154 (старые версии проги) приложение дико жрало ресурс и на моем стареньком компе подкачки хватало на час работы. После перехода на b162 спокойно пашет круглосуточно. Хиасмовские гуру сказали что в той версии могли быть баги.
Теперь по миксеру, у меня забито по умолчанию открытие нулевого устройства, как правило это встроенная звуковуха, но на иных компах может быть по другому. То же самое с самой картой, открывается карта по умолчанию. Наверное для гибкости установки устройств надо добавить в сеттинги меню.
Теперь по отрывку кода, в строчке:

mixerSetControlDetai ls(MixerID,@MCD,MIXE R_SETCONTROLDETAILSF _VALUE);*)
откуда то в конце взялось "*)" , у меня этого не было.
А вообще, если ошибки компиляции можно выловить по подсказкам отладчика, то ошибки исполнения типа "Runtime error..", "Access violation..." удавалось отловить только методом тыка, вот почему системщик крайне желателен.

RA9YTJ
04.09.2007, 11:38
Дык я таким образом и вылавил ошибку, всегда система сообщает где она запнулась, в данном случаи сработала защита памяти, попытка чтения с 00000+4 адреса, что нещадно было присечено системой, ну а дальше IDA и анализ, птом поис в исходнике похожую часть, а символы *) - это я забыл убрать, коммент. блоки я и выловил конкретные строки.
Приду домой испытаю новую прогу, откампилелась у меня без проблем.
To Relayer
Согласен с Вами, Кроме того что умерли basic, нет есть очень крутые версии, я вот для программирования прог использую PureBasic, у него много приемуществ, и нету недостатков отмеченных Вами. Ну раз Delphi так Delphi, кстати на какой версии остановимся? предлагаю на 7, т.к. довольно надежна, и не так объемен конечный ехе.

Relayer
04.09.2007, 13:02
2 RA9YTJ
смотрел я эти клоны - PureBasic, IBasic, PowerBasic, RealBasic. последний не подходит т.к. компилирует в пи-код. остальные генерируют такой машинный код что порой плакать хочется. нет, конечно на свеженьком пятитысячном двухядернике оно и в реалтайме сможет работать, но зачем? :) VB6 тоже не ахти какой код генерирует. вдобавок он уже списан и официально не поддерживается. а вместо VB7 идет VB.NET. а вот дотнет как раз и не хочется - слишком уж он от железа оторван далеко.
теперь по поводу дельфей. как ни странно но основная рабочая лошадка у меня 5ка :) последний годик медленно портируюсь на BDS2006. основные плюсы - более удобный IDE. попробуешь - назад не захочется возвращаться. опять же встроенные средства рефакторинга облегчают работу с большими проектами. а в остальном - та же дельфа.

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

DRUID 3
04.09.2007, 14:00
Короче, как всегда "каждый о своем".

Вобщем я не согласен ни с одним приведенным аргументом.

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

И еще, из практики - время разработки радара неразрушающего контроля и импульсного блока питания к нему занял одинаковое время :D , люди - загадка...

Кстати, чем вам не нравиЦЦо проект который собрал ХАМский designer ??? По-моему все у него отлично, и под простые синтезаторы заточен. Человек старался, выложил исходники...

Во-вторых... кстати, об исходниках.

Под GNU я имел в виду открытые исходники, если без этого - то досвидания. В коммерческих проектах я участвую посерьезней и мне это совершенно неинтересно. "Опенсорц" проекты позволяют "сдружиться" разноплановым программистам. Ну например кто-то долго занимается алгоритмами ЦОС а кто-то написанием GUI. Длительная плодотворная работа позволяет проникнуться идеями друг друга, и быстро овладеть мастерством коллеги. Просто просмотр чужих исходников совершенно никакого результата не принесет.

В-третьих:

Я очень хочу посмотреть на открытые исходники алгоритмов ЦОС, которые "как известно известны всем" :D . Вы часом их не из SDR-1000 собрались вытаскивать??? Да и что собственно можно найти в инете кроме FFT (и то восновном на С++) и FIR-фильтра. Но вперед...

В-четвертых:

И главных ( :wink: ) свой проект я забрасывать не намерен (ну разве чо умру наглой смертью :D ) и думаю начать его в конце сентября, так что те кому будет мало "Дэлфей" и "известных всем алгоритмов" могут писать мне в ICQ...

В-пятых:

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

В-шестых:

Какое-то странное нежелание учить новое. Ну типо тот же С++. Я его сам плохо знаю, уверенно себя могу назвать С программистом, а С++ у меня всегда в стадии изучения... у Страуструпа наверное та же картина :D . Да и Qt я пока не знаю совсем, почему бы и не выучить, не правда ли? :D Та же картина и с платформами. Я вот уже вполне счастливо себя чувствую на Linuxе и дома и на работе, хотя и без "Вынь" пока не могу. А многие мои друзья стали "чувствовать себя хорошо" насильно :crazy: поскольку их компании стали делать продукцию на экспорт, и "восточноевропейский подход" там не прокатил...

В-седьмых:

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

Relayer
04.09.2007, 14:21
2 DRUID 3
вы наверное невнимательно читали предыдущие посты в теме. ну такое иногда случается :) во первых там определено что проект будет опенсорсный, во вторых грамотно продуманная плагинная архитектура за которую я ратую и есть краеугольный камень большой и расширяемой системы. причем для ее расширения не надо ковыряться и изучать пару сотен тыщ строк кода а достаточно написать модуль удовлетворяющий спецификация изложенными на одной странице А4.

теперь по поводу цэ и плюсов. на цэ я работал еще в 80х а с плюсами с начала 90х. страуструпа не читал при этом - вредная книга :) разрабатывать большую систему когда все участники находятся "в стадии изучения" - это знаете ли весьма непрофессионально. таким макаром эта система и за 5 лет не дойдет до альфа версий. второй аргумент против цэ - это потенциальные возможности заложенные в язык которые приводят к написанию кода с глюками. да-да. именно так. особенно непрофессионалами. и ловить баги связанные с выходом за границы массива или обращению к освобожденной памяти - занятие не из приятных. особенно когда это не программа типа "hello word".

так что давайте не будем читать страуструпа и изучать Qt - этим можно заняться на досуге

syomin
04.09.2007, 15:58
Для того чтобы привлечь внимание людей к теме SDR нужна конструкция, сопоставимая по сложности с шедеврами Полякова - чтобы и собрать было не сложно даже новичку, и в случае чего, потраченного времени было не жалко. Только в этом случае стоит ожидать массового всплеска интереса к SDR. Но как всегда те, кому подобная конструкция нужна, не способны ее разработать, а тем, кому эта задача по силам - она не интересна.

А какую программу использовать - это уже не столь важно.

P.S. Не нужно ссылаться на схемы YU1LM - это несколько не то - и деталей много, а самое главное еще и гетеродин нужен. Прелесть конструкций Полякова как раз и состояла в том, что приемник можно было собрать практически из ничего.

UR5ZQV
04.09.2007, 16:05
To Relayer
1.Мультиплатформенно сть. Тут как лентяй с удовольствием с Вами соглашусь :пиво: . Мне бы хоть под винду более менее надежное приложение сварганить.
2.Насчет языка, так думаю по барабану. Все равно сколько людей столько и мнений. Главное алгоритмами обмениваться, а работа с железом все равно в основном APIшная и системно библиотечная.
По мне так лучше вообще без единой строчки (благо я визуализированную оболочку использую с набором стандартных компонент) да на все случаи жизни нет компонентов, пришлось часть из них на Делфи доделывать.
3.У меня к счастью роль плагинов выполняют сами компоненты, короткие функциональные компоненты пишуться непосредственно на Делфи, а логические связи разводятся визуально как схема, что кстати очень наглядно и по моему более понятно, чем искать эти связи в дебрях кода.
4.Коды любого компонента (по крайней мере в моей схеме ХиАсм) открыты, каждый может править.

Relayer
04.09.2007, 17:06
для особо ленивых на дельфи есть тоже кое-чего :)
DSP-worxs (http://www.dsp-worx.de/index.php?n=5)
SignalLab (http://www.mitov.com/html/signallab.html)
AudioLab (http://www.mitov.com/html/audiolab.html)

DRUID 3
04.09.2007, 17:37
разрабатывать большую систему когда все участники находятся "в стадии изучения" - это знаете ли весьма непрофессионально.

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


второй аргумент против цэ - это потенциальные возможности заложенные в язык которые приводят к написанию кода с глюками. да-да. именно так. особенно непрофессионалами. и ловить баги связанные с выходом за границы массива или обращению к освобожденной памяти - занятие не из приятных. особенно когда это не программа типа "hello word".

Ужос, это ошибки студентов 80-х годов кочующие из учебника в учебник, ничего общего с реально наиболее распространенными ошибками программистов cpp не имеют... Но ладно, это спор бесконечный... Я просто высказал свое мнение, как говориЦЦо вскрытие покажет. Но смотрите, что бы это не было как с соседним проектом по DDC на VHDL
:D

Для того чтобы привлечь внимание людей к теме SDR нужна конструкция, сопоставимая по сложности с шедеврами Полякова - чтобы и собрать было не сложно даже новичку, и в случае чего, потраченного времени было не жалко. Только в этом случае стоит ожидать массового всплеска интереса к SDR. Но как всегда те, кому подобная конструкция нужна, не способны ее разработать, а тем, кому эта задача по силам - она не интересна.

А какую программу использовать - это уже не столь важно.

P.S. Не нужно ссылаться на схемы YU1LM - это несколько не то - и деталей много, а самое главное еще и гетеродин нужен. Прелесть конструкций Полякова как раз и состояла в том, что приемник можно было собрать практически из ничего.

Дак кто Вам мешает отбросить у поляковских конструкций фазовращатели и использовать их даже с уже написанным SDRсофтом? Кстати у ХАМского designerа и схема простого RXа есть.

Кстати, для абсолютных лентяев - пишите на LabView и мультиплатформенност ь, и простота, и точно можно достичь результата...

Relayer
04.09.2007, 17:59
разрабатывать большую систему когда все участники находятся "в стадии изучения" - это знаете ли весьма непрофессионально.
Это не непрофессионально, а единственно возможно, так разрабатывается все, от кофеварок, до самолетов (причем про самолеты точно не шучу).

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


Ужос, это ошибки студентов 80-х годов кочующие из учебника в учебник, ничего общего с реально наиболее распространенными ошибками программистов cpp не имеют... Но ладно, это спор бесконечный... Я просто высказал свое мнение, как говориЦЦо вскрытие покажет. Но смотрите, что бы это не было как с соседним проектом по DDC на VHDL

невдомек мне что там в учебниках нынче модно писать - я их никогда не читал :) а вот как убить неделю времени на поиск багов в работе с динамической памятью когда ошибка проявляется с вероятностью один раз из пять запусков и то при определенных фазах луны - это я прекрасно знаю.


Дак кто Вам мешает отбросить у поляковских конструкций фазовращатели и использовать их даже с уже написанным SDRсофтом? Кстати у ХАМского designerа и схема простого RXа есть.

речь идет пока не о железе а о софтовой платформе для экспериментов. эдакий набор продвинутых кубиков. которые к тому же дружат с любым железом.


Кстати, для абсолютных лентяев - пишите на LabView и мультиплатформенност ь, и простота, и точно можно достичь результата...

лабвью всетаки немного не под цос заточен ИМХО. к тому же это коммерческая штуковина.

YuriP
04.09.2007, 20:55
Что касается алгоритмов так это все классика цифрового радиприема и SDR-1000 далеко не шагнул. Но цифровой приемник отличается от аналогового, тем что у него как правило хуже основные параметры, но он должен давать преимущества присущие исключительно ЦОС:
1. Отложенная обработка.
2. Использование возможности запомнить сигнал оптимально его обработать по результатам его будущей реализации.Немного нарушить принцип каузальности по моему.
3. Сложная фильтрация, например начиная с автоматических фильтров "подавления" бестолковых настроек несущей, подовления помех со стационарной корреляционной функцией и тд.
4.Одновременая работа программы с БД (аппаратный журнал).
5.?????????????????? ???????????

Насчет языка разработки, я использую исключительно с/с++ уже довольно долго и еще ни разу не пожалел.Среда разработки - это Bilder-5(6).и VC++ для численных расчетов. Билдер там отдыхает.
Также люблю пользовать NSP и IPP библиотеки от интела.

Что касется плагинов то можно договориться на уровне DLL. Думаю все у нас получться. Так что предлагаю перейти к конструтивному созиданию сайта и рассмотрениею архитектуры проекта.

Кто может сайт создать для прдполагаемого проекта?Ну или подробней изложите где и как это сделать.

Relayer
04.09.2007, 21:26
Кто может сайт создать для прдполагаемого проекта?Ну или подробней изложите где и как это сделать.

в принципе можно захостится на sourceforge.net. OpenSDR там кстати и хостится. вот только мертвый он - 4х летней давности файлы. зато под линукс! :)
так что все придумываем название проекта :)

DRUID 3
04.09.2007, 21:29
Что касается алгоритмов так это все классика цифрового радиприема и SDR-1000 далеко не шагнул. Но цифровой приемник отличается от аналогового, тем что у него как правило хуже основные параметры, но он должен давать преимущества присущие исключительно ЦОС:
1. Отложенная обработка.
2. Использование возможности запомнить сигнал оптимально его обработать по результатам его будущей реализации.Немного нарушить принцип каузальности по моему.
3. Сложная фильтрация, например начиная с автоматических фильтров "подавления" бестолковых настроек несущей, подовления помех со стационарной корреляционной функцией и тд.
4.Одновременая работа программы с БД (аппаратный журнал).
5.?????????????????? ???????????

Насчет языка разработки, я использую исключительно с/с++ уже довольно долго и еще ни разу не пожалел.Среда разработки - это Bilder-5(6).и VC++ для численных расчетов. Билдер там отдыхает.
Также люблю пользовать NSP и IPP библиотеки от интела.

Что касется плагинов то можно договориться на уровне DLL. Думаю все у нас получться. Так что предлагаю перейти к конструтивному созиданию сайта и рассмотрениею архитектуры проекта.

Кто может сайт создать для прдполагаемого проекта?Ну или подробней изложите где и как это сделать.

Не согласен абсолютно ни с чем, исключая С++ и общее настроение :D . Сайт... в смысле сверстать? Могу заставить своего друга. А расположить? Так наш глубокоуважаемый ua6ap когда-то заявлял, что для радиолюбительских нужд он может предоставить до 1 Гига на человека...или я вру 8O .

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

И еще, раз речь взял зачинатель сего бесчинства, может все-таки Qt+GCC и мультиплатформенност ь? Тогда проект приобретет сразу три направления:
1) абсолютно абстрактные библиотеки ЦОС...
2) кросплатформенное GUI...
3) платформозависимые библиотеки (типо захват звука, работа с SDRжелезом)




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

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


Ужос, это ошибки студентов 80-х годов кочующие из учебника в учебник, ничего общего с реально наиболее распространенными ошибками программистов cpp не имеют... Но ладно, это спор бесконечный... Я просто высказал свое мнение, как говориЦЦо вскрытие покажет. Но смотрите, что бы это не было как с соседним проектом по DDC на VHDL

невдомек мне что там в учебниках нынче модно писать - я их никогда не читал :) а вот как убить неделю времени на поиск багов в работе с динамической памятью когда ошибка проявляется с вероятностью один раз из пять запусков и то при определенных фазах луны - это я прекрасно знаю.


Дак кто Вам мешает отбросить у поляковских конструкций фазовращатели и использовать их даже с уже написанным SDRсофтом? Кстати у ХАМского designerа и схема простого RXа есть.

речь идет пока не о железе а о софтовой платформе для экспериментов. эдакий набор продвинутых кубиков. которые к тому же дружат с любым железом.


Кстати, для абсолютных лентяев - пишите на LabView и мультиплатформенност ь, и простота, и точно можно достичь результата...

лабвью всетаки немного не под цос заточен ИМХО. к тому же это коммерческая штуковина.

1) я уже вижу кто в этом проекте будет только заливать. Это я о конструкторах болтов и гаек... Бредите лишь бы было что написать в форум. Я подразумевал то, что на Земле нет ни одного человека могущего сказать - я знаю математику (или физику и т.д.) т.к. эти науки плод коллективного разума, и нет там пределов совершенству.

2) выучит что-либо новое, это как раз то, почему люди заторачиваются с GNU проектами...

3) ну пишите на Java -> мультиплатформенност ь, неД указателей и проблем с динамическим выделением памяти если они так часто Вам встречались. Кстати тоже вариант...

Java даже есть для TI DSP, конечно виртуальная стековая машина в задачах ЦОС изврат полный, но, тем не менее, спрос есть...

4) о железе прямо написали что имеющееся сложное... Хм...

5) Так а чо "дэлфи" это для "опенсорца" в отличие от "лабвью"? :rotate: Та Борланд чихать хотел на то, что кто-то дарит свои исходники...


Название??? freeSDR???

Relayer
04.09.2007, 21:52
я уже вижу кто в этом проекте будет только заливать. Это я о конструкторах болтов и гаек... Бредите лишь бы было что написать в форум.

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

DRUID 3
04.09.2007, 21:54
я уже вижу кто в этом проекте будет только заливать. Это я о конструкторах болтов и гаек... Бредите лишь бы было что написать в форум.

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

Уже переходим на "ты"? А как лечащий врач смотрит на такие волнения??? :rotate: А задел за живое, правда??? :lol:

Relayer
04.09.2007, 22:04
пока что я от тебя не увидел ни одного конструктивного предложения. хочешь пофлеймить? на здоровье. а я пойду рисовать архитектуру системы

Relayer
05.09.2007, 02:57
такс. вобщем развернул я SignalLab и
AudioLab. впечатления пока самые положительные. есть практически все что надо. даже "водопад" готовый :)
еще полезная линка (хотя и на французском) http://perso.orange.fr/sonelec-musique/logiciels.html/ есть всякие интерфейсные рюшечки и немного софта по работе/мониторингу портов, аудио-анализу

RA9YTJ
05.09.2007, 05:18
Боюсь тема загнется, если так продолжать. Давайте сделаем хоть КАКУЕ-НИБУДЬ программу хоть на КАКОМ-НИБУДЬ языке. Давайте сделаем ПРОСТУЮ, т.к. сложная уже есть вместе с исходниками, которые не каждый осилит (PowerSDR).
Надо рассмотреть вариант основы программу ХАМский designer.
Предложение такое:
Основное приложение-то что есть, но из него выносятся все блоки работы в dllки, кстати как связующие звено HiAsm имеет преимущество- наглядность и простота, плюс человек который в области написания SDR, продвинулся дальше всех нас вместе взятых.
Правда придется перелопатить прогу, но это дело наживное.
От себя могу добавить dll работы с звуковой картой, настройка и функционирование сквозного канала, это уже есть с описанием , дальше делаю работу с миксером, у него это дело хромает. Только давайте без классов и всяких , чисто в каждой dll набор функций.
Все вх. и вых. параметры описаны и имеют постоянное значение.

Для ХАМский designer - прога так же вылетает, но после коррекции она начала вылетать уже по другой причине :-), что в предыдущей версии не было, попробую разобраться.

Для DRUID 3:
У меня вопрос- что такое полифазное FFT, и чем оно отличается от обычного, только прошу без ссылок на иностранные статьи, просто на пальцах, уверен это можно, а то почитав про новую версию SoftRock, хотелось бы понять в чем преимущества этой новой технологии.
Еще: AudioLab SignalLab можно исхоники вытащить и без регистр. ключа

sgk
05.09.2007, 06:45
To All
Извиняюсь, немного не по теме.
Может кто знает прогу для анализа спектров с возможностью работы с 32 бит данными.
Сергей sgk.

UR5ZQV
05.09.2007, 07:46
для syomin

Правда немного не в тему.
А синтезатор на двух микросхемах найдете у RZ6FY.

UR5ZQV
05.09.2007, 08:26
Relayer, спасибо за ссылки на DSP компоненты (что важно-исходники). У меня правда все это доморощеное, но обязательно посмотрим в целях оптимизации.
То RA9YTJ
1.На днях накидаю схему своей обработки, можете подправить свежим взглядом.
2.Насчет ДЛЛ очень опасаюсь что инсталяция превратиться в пытку (как у Повер СДР), только из за этого начал свою, чтобы все в одном флаконе. Но если кто сможет сделать нормальный инсталятор, то вам видней.
3.Насчет вылетания миксера на Вашем компе, пока ничем не могу помочь, потому что не нашел у себя такого компа, на котором бы прога не запускалась :) . Если найдете глюк просьба обязательно указать, и у себя подправлю на всякий случай.

RA9YTJ
05.09.2007, 08:48
То ХАМский designer
dll не надо опасаться, в powerSDR, там трабла с системными, а так нет проблем если они находятся вместе с exe, просто с dll проще модифицировать программу и тестировать, и инсталятор сдесь совсем не причем, можно распространять прям как сжатую папку.
С миксером действительно не понятно, щас специально разбираюсь с методом работы с миксерами.
Но самое главное, в вашей программе нужно вынести в dll работу со синтезаторами, например вызыватся будет одна функция с одним параметром и возвращать один параметр.
Т.е. пусть осн. программа передает при вызове: "установить частоту 14000000 гц", функция в длл расчитает какую ближайшую частоту она может установить в синтезаторе, устонавливает и возвращает ее, например 140001000гц, основная программа вычисляет на сколько ей надо программным способом подстроить частоту.

Relayer
05.09.2007, 09:04
Боюсь тема загнется, если так продолжать. Давайте сделаем хоть КАКУЕ-НИБУДЬ программу хоть на КАКОМ-НИБУДЬ языке.

АААтставить панику :) свистать всех наверх :) давайте всетаки "КАКУЮ-НИБУДЬ" делать не будем :) нас тут как минимум три человека программирующих. значит уже можно "сообразить". но прежде неплохо бы определиться с целями.


Надо рассмотреть вариант основы программу ХАМский

обязательно!


Предложение такое:
Основное приложение-то что есть, но из него выносятся все блоки работы в ...

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


Еще: AudioLab SignalLab можно исхоники вытащить и без регистр. ключа

на них лицензия FNC т.е. бесплатно для некоммерческого использования. так что нам это подходит

2ХАМский designer
где можно ознакомиться с вашими наработками на hiasm?

UR5ZQV
05.09.2007, 09:23
1.Сергей, насчет ДЛЛ я не возражаю, лишь бы инсталляция не затруднилась.
2.Схема управления синтезом у меня несколько иная. Компонент управления (в данном случае виртуальный валкодер) вырабатывает абсолютную рабочую частоту в герцах, по ней высчитывается необходимый коэфф. деления по заданному шагу синтезатора и остаток который определяет положение частоты в спектре БПФ, он и подается на управление дисплеем, указатель частоты, управление БПФ преобразователем частоты и тп. Отдельный компонент (я почему то не увидел необходимости в ДЛЛ) управления синтезом периодически опрашивает коэфф. деления и вслучае его изменения подает нужную команду на LMку, ГУНы и делители ГУН.

RA9YTJ
05.09.2007, 09:54
Выполнение управления синтезатором в отдельную dll, позволяет использовать вашу программу с ЛЮБЫМ железным SDR, просто меняем дллку, у вас в программе заложена уже идея так сделать. сравните как у вас с тем что я предложил, там явно видно. Фраза "по ней высчитывается необходимый коэфф. деления по заданному шагу синтезатора" и есть то что нужно, только вычислив она же и устанавливает, тогда не надо: "Отдельный компонент (я почему то не увидел необходимости в ДЛЛ) управления синтезом периодически опрашивает коэфф. деления и вслучае его изменения подает нужную команду на LMку, ГУНы и делители ГУН. "

RZ6FY
05.09.2007, 10:29
Почти ничего не понимаю в том, что вы собрались делать, хоть и горячо поддерживаю :super: , а посему не могу удержаться, чтоб не встрять...

Мне бы хотелось, чтобы подпрограмма управления синтезом была отдельно и связывалась с разрабатываемой вами программой передачей значения частоты , т.е. так, как предлагает RA9YTJ. Такой вариант универсальней в плане "железа".
И еще один момент мне не понятен (из того, что смог понять) - на какой частоте будет вестись обработка сигнала:
- на "нулевой" ПЧ;
- на некоей фиксированной ПЧ (как в Pow.SDR, 11025 КГц);
- на "переменной" ПЧ (как в Sofr Rock);

От этого, мне кажется зависит "сложность" отношений подпрограммы управления синтезом и основной программы...

Прошу прощения за "непрограмистский" язык, но тут уж... каким владею...

RA9YTJ
05.09.2007, 10:45
Да на переменной, т.к. синтезаторы могут быть разные, с разным шагом, и что важно шаг может менятся прям на диапазоне, пример,есть у меня 4шт кварцев но у них честоты отличаютсяс разным шагом, вот можно и написать для них длл в которой бы подключался бы наиболее близкий кварц и возвращалось значение его, а уж программа сама бы выщитывала на сколько ей надо сместить программно вирт. пч.
кстати по тойже причине нужно делать и длл для упровлением переключениями разного рода в железе, а вот сама программа будет универсальна, для ЛЮБОГО железа.

RZ6FY
05.09.2007, 11:18
Наберусь наглости позадавать "ламерские" вопросы, пока не гонят...
Насколько я могу понять, оцифровывается и обрабатывается сразу все, что попадает в полосу, определяемую частотой дискретизации примененной ЗК. Предположим, что это полоса 0-96 КГц. Предположим также, что я пишу программу управления синтезом. Значит, я должен ГУН синтеза настроить на такую частоту, чтобы после смесителя нужный мне сигнал попал на начало "полосы пропускания" 0-96 КГц, т.е. на "0", а той программе, которая обрабатывает сигнал, дать значение от 0 до 96000 (Гц), т.е. "перестроиться" в "полосе пропускания". Так? Или похоже хотя бы? (О виде модуляции пока речь не идет).

RA9YTJ
05.09.2007, 11:56
ЗК классическая оцифровывает с частотой 48000гц, значит мак.частоту какую можно выделить( по теореме Котельникова) 24000гц. Но так как мы имеем 2 канала с 90гр. сдвигом, то получаем спектр 48кгц, вот в нем мы и можем выделять любую частоту и ПЕРЕНОСИТЬ ее в начало, для вывода в динамик. Другими словами:
Есть первый 2х фазный смеситель(фаза 90гр) с частотой 1.9мгц(гетеродин), на входе звуковухи мы имеем спектр 48кгц, т.е. спектр в радиодиапозоне от 1876кгц до 1924кгц. Теперь если нам надо послушать станцию на 1910кгц, то програмно, мы выделяем частоты в диапазоне 10-13кгц, на одном канале поворачиваем програмно на 90гр и складываем с другим каналом, все мы подавили паразитный канал 1890, теперь програмно переносим спектр 10-13 в 0-3кгц, усе на выход. А если надо послушать соседнюю 13-16, то ее и выделяем а дальше все так же, если нам надо послушать 1890, то просто поварачиваем другой канал на 90гр. Если нам надо слушать весь диапазон 1.8-2.0, то тут уже надо менять частоту гетеродина, причем получается что всего нужно 5 частот, шаг между ними может быть (чтоб перекрывать все), 40кгц, т.е 1820, 1860, 1900, 1940, 1980. Все весь диапазон перекрыт с запасом, т.е. может возникнуть ситуация что одну и туже станцию можно будет услышать при РАЗНЫХ частотах гетеродина, просто программа сама подсчитает что ей выделить и как обработать. А если гетеродин может менятся с еще меньшим шагом, то и слушать одну и туже станцию можно на еще больших частотах гетеродина. Обычно программа задает частоту гетерадина так, чтоб нужный спектр попадал в диапазон от 5 до 15 кгц. Кстати возможно и слушать станцию.у которой спектр попадает прям на частоту гетеродина, т.е. гетеродин 1.9 и мы слушаем станцию например SSB 1899-1902, правда так лучше не делать, т.к. шумы звуковухи значительны в спектре до 1кгц

RA9YTJ
05.09.2007, 12:33
Кстати вы рассматривали вариант вашего синтезатора на хотя бы 6 диапазонов радиолюбителей?

RZ6FY
05.09.2007, 13:33
Кстати вы рассматривали вариант вашего синтезатора на хотя бы 6 диапазонов радиолюбителей?

У меня сейчас в макете работает вариант с непрерывным перекрытием 1,5 - 16 МГц, но к "обнародованию" он пока не готов...
Не исключено, что к моменту "выхода в свет" вашей совместной разработки у меня будет вариант простого синтеза с непрерывным перекрытием всего КВ диапазона 1-30МГц :crazy:
Так что запишите меня хотя бы в числе первых на очередь, как потребителя вашей "продукции", а то уже начинает надоедать с Pow.SDR по САТ-интерфейсу "извращаться"...

Если я правильно понял Ваши разъяснения, то для совместной работы программы управления синтезом и программы обработки (назову их так), им подребуется обмен не только значением частоты. Должны добавиться, как минимум, ширина диапазона обработки ЗК (48, 96, 192...) и вид модуляции, т.к. от него тоже зависит, какие цифирки я должен вывести в поле "Частота настройки".

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

Успехов!
Павел

UR5ZQV
05.09.2007, 13:35
To Relayer

2ХАМский designer
где можно ознакомиться с вашими наработками на hiasm?
Извините, сначала не заметил Вашего вопроса. Файл SHA для оболочки HiAsm находится в том же аттаче что и приложение. Чтобы его просмотреть и корректировать надо скачать пакет HiAsm-Delphi с сайта http://www.hiasm.com/, установить его и пакет не позже Delphi4 (можно просто сослаться на него, если таковой имеется).
Теперь по схеме обработки. В аттаче заметки по моей схеме (наверное трудно найти в дебрях соседних веток). Чтобы еще раз не набивать клаву, там конечно только схема обработки DSP,но для начала пока пойдет
To RA9YTJ и RZ6FY, Сергей, насчет ДЛЛ понял, но наверное на все разнообразие железа не напасешься. Прога была расчитана на систему управления типа SoftRock и дешевые бытовые синтезы. Если заметили в меню имеется пункт PLL step который автоматом устанавливает нужные установки управления LM (под разные кварцы) но под свою схему ГУН и их делителей. Желательно ввести в сеттинги еще и разные микросхемы (LM, MC, CY и т. п.), варианты схемы их управления, ну и инверсию кода управлении (в железе Павла есть два варианта), хоть в варианте ДЛЛ, хоть в виде сеттингов в меню. Кстати, Павел отдельную прогу по управлению синтезом со связью с основной прогой сделать можно, только вот для себя я нужды не вижу.
И общие заметки, наверное сначало надо определить, а что собственно мы хотим получить на выходе. Потом определить общую схему логического взаимодействия в проге, а уж потом взяться за решение задач по кодированию блоков.

RZ6FY
05.09.2007, 14:43
Уже, вроде, попрощался на этой ветке, но коль ко мне обратились...



To RZ6FY[/b]...отдельную прогу по управлению синтезом со связью с основной прогой сделать можно, только вот для себя я нужды не вижу.

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



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

Возьму на себя смелость высказать пожелание от лица будущих потребителей вашей "продукции". Мой уровень - неплохо разбираюсь в схемотехнике аналоговой аппаратуры КВ-связи, о программировании имею общее представление и начальные навыки MPLAB(PIC-и) и C++Builder...
Поскольку не владею прграммистским сленгом, буду говорить по-простому, проводя аналогии с аналоговой аппаратурой (во сказанул!)...
Так вот... Хотелось бы видеть некоторый программный модуль, что-то вроде "основной платы трансивера", только без первого смесителя (он у нас аппаратный). Т.е., по минимуму: усилитель ПЧ, фильтры, детекторы, усилитель ЗЧ, АРУ, S-метр. Все это как-то уже взаимодействует с ЗК и позволяет мне, при помощи каких-то общедоступных переменных или функций, регулировать усиление по ПЧ, задавать характеристику фильтра, вид модуляции, задавать параметры АРУ, регулировать уровень ЗЧ, получань данные об уровне сигнала. О частоте настройки я уже говорил ранее.
Порядок взаимодействия с этим "модулем" должен быть хорошо документирован. Тогда я беру, паяю "железо" на свое усмотрение, сажусь за C++Builder и ваяю программу управления. Со своим "железом" (синтез, АТТ, УВЧ, ДПФ и т.п.) я разбираюсь сам, а с вашим "модулем" при помощи предусмотренных вами функций... и получаю программно-аппаратный трансивер (приемник) на свой вкус (дизайн управляющей программы тоже на мне)!

Сейчас нечто подобное я пытаюсь делать с Pow.SDR, вот только взаимодействовать с ней можно при помощи только оной "функции" - САТ. Мне этого уже мало... Начинает раздражать...

Вот так, вчерне... Извините, если сумбурно и непрофессионально, но я "любитель" в чистом виде...

Relayer
05.09.2007, 14:58
Так вот... Хотелось бы видеть некоторый программный модуль, что-то вроде "основной платы трансивера", только без первого смесителя (он у нас аппаратный). Т.е., по минимуму: усилитель ПЧ, фильтры, детекторы, усилитель ЗЧ, АРУ, S-метр. Все это как-то уже взаимодействует с ЗК и позволяет мне, при помощи каких-то общедоступных переменных или функций, регулировать усиление по ПЧ, задавать характеристику фильтра, вид модуляции, задавать параметры АРУ, регулировать уровень ЗЧ, получань данные об уровне сигнала.

ну вы почти мои мысли прочли :) или я - ваши. вобщем все выше перечисленное и вдобавок каждый блок - квадратик с входами/выходами. главное правильно соединить их мышью :) т.е. эдакий run-time designer заточенный под цос и с набором модулей которые нам нужны

Relayer
05.09.2007, 15:03
Файл SHA для оболочки HiAsm находится в том же аттаче что и приложение. Чтобы его просмотреть и корректировать надо скачать пакет HiAsm-Delphi

статью почитал. тянет на монументальный труд - я ненавижу писать сопроводиловки :) еще могу рекомендовать читать тем кто не читал классику жанра - статью в QEX за 2002. там в принципе все основные/базовые алгоритмы расписаны но на васике.

теперь ложка дегтя. на моем двухядернике ваш проект запускаться отказался. вылетает с access violation. hiasm при попытке открыть исходник тоже вылетает. почему - не стал разбираться. на другой машине - запустился.

UR5ZQV
05.09.2007, 16:26
Relayer, вот поэтому позарез нужен системщик. По представлению алгоритма в виде схемы - именно это и дает Hiasm. Статью янгблудта читал, с нее и начинал учиться ЦОС и программированию. Насчет "фундаментального труда" я думаю Вы погарячились, так заметки, где собрано ото всюду под свои нужды.

YuriP
05.09.2007, 22:23
Зантересовало что такле полифазное FFT. Одно из применений- улучшить разрешение на спектре или спектрограмме. На пальцах пример: Берется кусок 4096 точек, накладывается окно, затем этот кусок бъется на 4 части и формируется блок из 1024 отсчетов следующим образом: первая точка 0,1024,2048, 3072 складываются, затем вторая точка 1,1025,2049, 3073 и тд. От блока 1024 берется обычное FFT. При этом основной лепесток гармоники получается заметно уже по сравнению еслиб взяли чисто 1024 точки.

YuriP
05.09.2007, 22:26
Кстати кому нужно могу выложть исходники цифрового АРУ.Работает без хлопков и ударов по ушам.

RA9YTJ
06.09.2007, 04:36
То Relayer
А можно выложить эту статью в месте с исходниками, или указать ссылку?
То ХАМский designer
Нашел причину второй ошибки, ее вызывает отсутствие ini файла.
То YuriP
При полифазном FFT, берутся 4096 точек-это выборки АЦП?, а обратное полифазное FFT как? А алгоритм с перекрывающими буффирами это альтернатива полифазному?, если да , то что лучше? Ну и про АРУ, конечно надо :-)

UR5ZQV
06.09.2007, 08:03
YuriP

могу выложть исходники цифрового АРУ.Работает без хлопков и ударов по ушам.
Если можно, мне в личку или на мыло. У меня правда по Янгблудтовскому алгоритму тоже гладко работает, но интересно было бы сравнить. А вообще я думаю всем было бы интересно, можно бы и на всеобщее обозрение выставить.
RA9YTJ

Нашел причину второй ошибки, ее вызывает отсутствие ini файла.

Большое спасибо, Сергей. Попробовал - действительно так. Оказывается ini генерится автоматом только при запуске из SHA. Придется с приложением таскать ini файл. Неприятно, но пока терпимо.

Relayer
06.09.2007, 08:34
А можно выложить эту статью в месте с исходниками, или указать ссылку?

статьи из QEX http://www.flex-radio.com/News.aspx?topic=publ ications

Relayer
06.09.2007, 08:35
Кстати кому нужно могу выложть исходники цифрового АРУ.Работает без хлопков и ударов по ушам.

выкладывайте. если у нас будет несколько альтернативных система ару - хоже от этого никому не станет :)

YuriP
06.09.2007, 19:28
Статьи у меня нет, это АРУ творчество. Завтра постараюсь с другого компа притащить и скажите куда выложить.Если кратко то есть нижний порог, который определяет максимальное усиление тракта, и есть верхний порог начиная с которого АРУ отрабатывает(снижает усиление), пользователь регулирует уровень входного сигнала поступающего на петлю АРУ. Если усиление поставитьбольшим то эфир будет плоским. Для устранения хлопков сигнал задерживается, а коэффициент усиления определяется по незадержанному сигналу. Пользователю доступны регулировка усиления и скорость отпускания АРУ.

YuriP
06.09.2007, 19:41
То Relayer
При полифазном FFT, берутся 4096 точек-это выборки АЦП?, а обратное полифазное FFT как? А алгоритм с перекрывающими буффирами это альтернатива полифазному?, если да , то что лучше? Ну и про АРУ, конечно надо :-)

Думаю что с АЦП, если это для улучения разрешения то вся полоса нужна. А перекрывающихся буферах отсутсвует СЛОЖЕНИЕ блоков. Перекрытие буферов увеличивает корреляцию спектров,уменьшает дисперсию оценки компонент спектра, но не улучшает разрешения. А вот про обратное толком сказать не могу. Нужно но ли оно?Думаю также как и обычное, только отсчетов меньше будет на выходе. Если попадеться что-то конкретное то напишу.

Relayer
06.09.2007, 20:13
насчет "полифазного" ффт - кое какую информацию можно почерпнуть http://www.dxatlas.com/Rocky. т.е. применяется оно для более "корректного" отображения спектра - соответственно обратное преобразование не надо.
я немного гуглянул и нашел вот такую страничку: http://www.dsprelated.com/showmessage/45449/1.php. там небольшая дискуссия о том что это такое. в кратце это не совсем то что есть :) цитата:

I'm not familiar with the term polyphase FFT, but I'll suggest a
technique that can reduce leakage beyond what is possible using an
ordinary window. It is called Weighted Overlap Add (WOLA) and is
described in an out-of-print book called Multirate DSP by Crochiere and
Rabiner. For an FFT size of M, a 4:1 WOLA is computed by windowing off
a chunk of 4M samples, then stacking and adding each length M segment
of the windowed data together to make a length M time-aliased vector --
your FFT input. 50% overlap is used by sliding 2M new samples into the
next window calculation.
и там несколько ссылок по теме:
http://archive.chipcenter.c om/dsp/DSP000315F1.html
http://www.wsdmag.com/Articles/Index.cfm?ArticleID= 7108&pg=2
http://www.rfel.com/download/W03006-Comparison_of_FFT_an d_PolyDFT_Transient_ Response.pdf

так что в принципе ничего сложного

PS для тех кто не в ладах с инглишом - гугль может переводить на русский. корявенько, но суть понять позволяет.

YuriP
06.09.2007, 21:00
Реомендую послушать работу подавителя импульсных помех
http://skydan.in.ua/T03DSP/Download/NB_Demo.wav

Explorer
06.09.2007, 23:36
Вроде бы работает, но полезный сигнал становится безобразным от модуляции импульсной помехой.

Serg
07.09.2007, 00:26
Позвольте, так сказать губу раскатать, раз пошел разговор про ЦОС...

Тогда уже может стоит подумать о встроенной цифре в программу SDR, раз уже есть FFT, "водопад", то наверно можно подумать и насчет PSK, например, который бы формировался в IQ и подавался на передачу, ну и прием прямо встроенный в эту программу-обработчик... Чтобы без всяких там VAC и подач в отдельную программу, которая будет сжырать ресурс на дополнительное преобразование, разрисовку спектра и прочее...

Serg_PRQ
07.09.2007, 08:03
Позвольте, так сказать губу раскатать, раз пошел разговор про ЦОС...

Тогда уже может стоит подумать о встроенной цифре в программу SDR, раз уже есть FFT, "водопад", то наверно можно подумать и насчет PSK, например, который бы формировался в IQ и подавался на передачу, ну и прием прямо встроенный в эту программу-обработчик... Чтобы без всяких там VAC и подач в отдельную программу, которая будет сжырать ресурс на дополнительное преобразование, разрисовку спектра и прочее...

C такими аппетитами скоро придется набирать штат как на Флексрадио, еще бы таких же спонсоров.... :D

UR5ZQV
07.09.2007, 08:44
C такими аппетитами скоро придется набирать штат как на Флексрадио, еще бы таких же спонсоров....
А зачем? Мы за три дня уже догнали и перегнали Америку... теоретически. :D Может все же лучше начать с общей схемы обработки и управления, скриншота и хотя бы захвата и воспроизведения звука. Потом можно подумать об БПФ с перекрытием, АРУ, нойс бланкере, цифровых видах и т.п.
То YuriP. Насчет АРУ приблизительно понял. У меня несколько по другому (см. алгоритм в заметках) Верхний порог усиления определяется по отловленному максимуму сигнала. Общее усиление регулируется перед АРУ. Регулируется только время отпускания.
Насчет подавителя имп. помех. Предполагается, но для меня в данный момент не актуально, такого характера как приведено в записи у меня в местности нет (мощные, периодические), иногда только непериодические (типа разгоняющегося байкера :crazy: или грозовых разрядов).
Насчет цифры, в готовых прогах мало у кого предусмотрена связь с внешними прогами (по моему только у DL4YHF но у него интерфейс ужасный), так что придется ваять самим, но по видимому в виде дочернего окна, на основной форме для водопада и текстового окна уже живого места нет.

Relayer
07.09.2007, 09:06
А зачем? Мы за три дня уже догнали и перегнали Америку... теоретически. :D

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

по поводу пск - это вполне реально т.к. есть или готовые сырки или таже ммвари в виде ocx.

RA9YTJ
07.09.2007, 09:18
Модуль работы со звуковухой как я уже говорил готов, даже терь можно управлять вых. линиями миксера, а вот входными чет не получается, разбираюсь в чем ошибка. Правда написан он на PureBasic4.02

UR5ZQV
07.09.2007, 10:52
Сергей, а Вы скиньте проблемные фрагменты исходников, совместно может легче победить.

RA9YTJ
07.09.2007, 11:41
Вот исходник, короче если вставлять в функции линии на выход, то линия упровляется, а если линию ввода, то возвращает ошибку при выполнении Result = mixerGetLineControls _(mixer,controls,#MI XER_GETLINECONTROLSF _ONEBYTYPE)

YuriP
07.09.2007, 20:44
Это исходники цифрового АРУ

Relayer
07.09.2007, 22:51
короче приятные новости :) пару дней назад я написал автору SignaLab. сегодня пришел ответ :) причем не просто отмазка.
во первых он дал ключик для исходников, но очень просил никому его не распространять (для сведения исходники стоят больше 1.5 зеленых). во вторых несмотря на то что он нынче немного в "запарке" (overwhelmed) т.к. они готовят новую версию и портируют ее на дотнет он предложил посильную помосчь.
короче общее впечатление - он заинтересован чтобы мы это сделали используя его либу. цели вполне простые - реклама и прочее.

Relayer
08.09.2007, 01:34
теперь у проекта есть сайт :) http://code.google.com/p/sdrlab. поддерживается Wiki, файловая область. завел два форума - один для девелоперов и второй - общий. перекинул пока туда некоторые интересные вещи из этой ветки, так что пока не густо :)
все кто так либо иначе хочет принять участие в разработке - регистрируемся!

YuriP
08.09.2007, 11:05
Долго меня догонял ответ Mr_Alex про софт SDR на LabView. А мысли такие. Цель наших трудов- все таки популяризация технологии SDR. Понятно что нашлось несколько человек владеющих С++, NEt бэйсиками и прочим. А как быть студентам, молодым радилюбителям и тем которым сложно выучить программирование. Именно для таких и создано LabView. И было бы прекрасно описывать алгоритм, его реализация в LabView, что дает возможность легкой правки и что самое главное на мой взгляд для радилюбителя девелопера- эксперимента. Наполнившись этим мыслями через пару дней поставлю себе LabView.

Relayer
08.09.2007, 13:40
напомню что LabView это коммерческий продукт. ложить в основу опенсоурса коммерческий продукт есть полный нонсенс.

YuriP
08.09.2007, 14:12
такого уровня по возможности проведения программных экспериментов, как LabView мы не сделаем. А вот положа руку на сердце Borland, MicroSoft, и даже есть коммерческая верся QT .И потом я не отвергаю С, паскалевские и даже бейсиковские варианты. Пусть живут вместе. Это можно будет назвать нашей "мультиплатформенност ью" :) . Может в NI напишем со временем, что в дескать в целях рекламы, пропаганды и т.д просим разрешить..... :)

Relayer
08.09.2007, 14:24
насчет не сделаем - это мы еще посмотрим :)
а NI завернет нас сами знаете куда.
вобщем господа, если мы что-то делаем - регистрируемся на гугле - жмем "Join".

RA9YTJ
10.09.2007, 07:07
Чет я не понял как там регистрироватся, объясните на пальцах, даже переводчик не помагает :-)

UR5ZQV
10.09.2007, 07:29
YuriP

С, паскалевские и даже бейсиковские варианты. Пусть живут вместе. Это можно будет назвать нашей "мультиплатформенност ью
Именно, поэтому просьба давать наработанные участки кода и алгоритмов, дабы остальные могли "портировать" и тестить под "свои" языки.

Relayer
10.09.2007, 08:45
чтобы зарегистрироваться вначале необходимо создать себе аккаунт на гугле - справа вверху жмем "Sign In" и создаем аккаунт. после этого сбрасываешь мне в личку логин своего аккаунта (без пароля естественно :) ). я его подключаю.

YuriP
10.09.2007, 21:16
Секгодня поставил LabView 8.0 Прикольная щтука.Там и сишнику есть где развернуться и начинаещему есть чем заняться.Нашел у себя библиотеку цифровой обрботки сигналов, с исходниками, кому надо давайте мыло 7 метров веситт. SigLib DSP Library
Version 7.00

Relayer
10.09.2007, 23:07
YuriP, лабвью это здорово и прикольно, я в курсе. но я уже говорил - вещь коммерческая. и если вы думаете что на западе все точно так же тырится и пользуется крякнутое как и у нас в совке - то вы глубоко заблуждаетесь. поверьте - я знаю о чем говорю.
поэтому такая концепция изначально обречена на узкий круг пользователей - вы не сможете объяснить европейцу что надо там-то и там-то скачать крякнутую версию :)

YuriP
10.09.2007, 23:13
Но Борланд и Майкрософт- это тоже все коммерческое. И потом европейцы мне не нужны. У них свои программы есть. Это будет чистой воды популяризация. Постараюсь начать ей заниматься. Вы меня заренистрировали на созданном сайте.

Relayer
10.09.2007, 23:28
микрософт - да. а вот насчет борландов - есть такая штука как Turbo Delphi. бесплатная. совместимая. и тп.
насчет европейцев ... нет у них своих программ. но дело не в них. дело в том что в основу opensource не ложатся коммерческие вещи.

vadim_d
11.09.2007, 00:17
микрософт - да. а вот насчет борландов - есть такая штука как Turbo Delphi. бесплатная. совместимая. и тп.
Андрей, полного IDE Майкрософт конечно даром не дает, но екзешники от Visual C не очень старой версии были бесплатно, я как-то ими пользовался:
http://msdn.microsoft.com/visualc/vctoolkit2003/ , а теперь вместо них
http://msdn.microsoft.com/vstudio/express/visualc/default.aspx

Relayer
11.09.2007, 00:36
vadim_d, я в курсе. речь просто шла о более-менее навороченных IDE. а команд-лайн компилеров бесплатных как грязи, пардон.
если пишите на чистом цэ - рекомендую обратить внимание на PellesC - это фришный и достаточно качественный сишный компилятор с простенькой IDE. что приятно - умеет компилировать как под форточки так и под ARM (PocketPC).

RA9YTJ
11.09.2007, 07:42
Набросал схему основного блока простого SDR TRX, особенности:
широкораспространенн ые детали, простота, возможность использовать два канала приема, пока это проект.
Еще этот файл я добавил на наш сайт.

Relayer
11.09.2007, 09:21
RA9YTJ, смущает одно - не будет ли эффекта прямого детектирования при приеме т.к. смеситель небалансный?

RA9YTJ
11.09.2007, 09:35
Конечно будет, но на уровнях значительных. Думаю 110дб по забитию (т.е. начало детектирования) у нас есть, впрочем эта схема не претендует на супер параметры, так "средненько", многих это устроит.

RZ6FY
11.09.2007, 09:39
Набросал схему основного блока простого SDR...
Думаю, многие, кто следит за этой веткой, надеялись (и продолжают надеяться), что ваша группа займется разработкой программы SDR, что немногим под силу...
А подобных схем уже полно в сети и достаточно широкий круг радиолюбителей вполне способен справиться с их разработкой и доводкой... Может, не стоит отвлекаться?...

С уважением,
RZ6FY, Павел

RA9YTJ
11.09.2007, 09:48
Нужно в начале тоже определится в общем какое будет железо.
Мое представление аппаратной части:
1блок Основной блок(пример выше, можно сделать и балансный, но схема усложняется).
2блок Синтезатор со схемами сопряжения TRX с компьютером, в нем же блок коммутации.(т.к. явно от типа синтезатора и зависит возможности различного рода коммутации)
3блок ДПФ, УМ, и антенный коммутатор, возможно и тюнер.

Есть замечание одно, думаю использовать интерфейс СОМ порт.
Обоснование: просто программировать, можно даже использовать его как 3 линии ввода и 3линии вывода. Если в компьютере нет такого порта, то можно поставить виртуальный, через USB, эффект тот же, даже можно сказать так будет лучше.
Мне вообще видется SDR TRX в ввиде черной коробки которая подключается к компьютеру через USB, к антенне, к питанию, к микрофону. и ВСЕ.
Все внутри, (сейчас много довольно неплохих USBшных звуковух, с достаточно неплохими параметрами и не дорогими).
В ней же есть флешка в которой записана программа, аппаратный журнал, таблица подстроек по диапазонам.
Вот так я размечтался :-)

Serg_PRQ
11.09.2007, 09:50
Думаю, многие, кто следит за этой веткой, надеялись (и продолжают надеяться), что ваша группа займется разработкой программы SDR, что немногим под силу...
А подобных схем уже полно в сети и достаточно широкий круг радиолюбителей вполне способен справиться с их разработкой и доводкой... Может, не стоит отвлекаться?...

:super:
Во-во, тот же YU1LM уже насоздавал столько, что нам всем вместе не перепаять...

Relayer
11.09.2007, 10:23
Думаю, многие, кто следит за этой веткой, надеялись (и продолжают надеяться), что ваша группа займется разработкой программы SDR, что немногим под силу...

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

RZ6FY
11.09.2007, 11:00
... вот все сидят, молчат и надеются...
А что им остается делать? Тема, за кот. вы взялись, весьма нетривиальна и, повторюсь, очень немногим под силу, так что на массовую продуктивную помощь расчитывать не стоит...


...что полтора человека возьмут да и сделают что-то за спасибо...
Это что? Намек, что продукт может стать платным?... :crazy:


...и это при том, что тут (на форуме) есть как минимум несколько человек которые очень сильно заинтересованы в таком софте...

Я в их числе. Подтверждаю!


...но все сидят и ждут ключика на голубой тарелочке - никто даже пальцем не пошевелил чтобы что-то предложить...

А вот это не ко мне - я и предложил, и обрисовал свои возможности и даже что-то делаю в плане железа....
Уровень моих "разработок" можете оценить на ветке по синтезаторам, и вот на этом уровне могу предложить посильную помощь, если понадобиться. Просто не думал, что уже пора...

RA9YTJ
11.09.2007, 11:12
Всем, кого интересует особенность работы FFT с фильтрацией, прошу обратить внимание на ветку в форуме
http://forum.sources.ru/index.php?showtopic= 186477

Relayer
11.09.2007, 11:27
Это что? Намек, что продукт может стать платным?... :crazy:

нет. мы ведь задекларировали опенсорсность в самом начале.




...и это при том, что тут (на форуме) есть как минимум несколько человек которые очень сильно заинтересованы в таком софте...

Я в их числе. Подтверждаю!

да я не о вас :) тут есть люди которые заинтересованы в этом гораздо больше вас. коммерция однако


Уровень моих "разработок" можете оценить на ветке по синтезаторам, и вот на этом уровне могу предложить посильную помощь, если понадобиться. Просто не думал, что уже пора...

я внимательно слежу за вашими разработками связанными с использованием простых pll-синтезаторов.
насчет пора-непора. проект то не замыкается только на программирование. сейчас в гуглевской конфе идет вялая дисскусия о том как должен выглядеть программный интерфейс с модулем управления синтезатором. неужто вам это не интересно?

UR5ZQV
11.09.2007, 13:04
Прошу прощения за некоторое отсутствие на ветки из-за "нардно хозяйственной" перестройки в местной сети.
RA9YTJ, Сергей, краем глаза посмотрел ваши коды по миксеру. Не заметил "отлова" линий записи и воспроизведения (а вообще то начинать надо с номера устройства, у меня по умолчанию это 0, расчитано было на единственную встроенную звуковую карту). Операции по обработке линии записи описаны в моих заметках и в той ссылке с богатыми коментариями, которыми мы пользуемся. Рассмотрю подробнее информацию ото всех.
PS: Извините, что пока не дал предложения по схеме обработки, в связи с вышеуказанными причинами.

Serg
11.09.2007, 13:26
Есть такая книга "Цифровая связь" Дж.Проксис, там наверное есть тоже полезная информация...

ur0vs
11.09.2007, 16:00
никто даже пальцем не пошевелил чтобы что-то предложить.
а ведь "на пальцах" интерфейс с железом можно вырабатывать уже сейчас.

Хорошо, предлогаю :D . Не надо ввязывать САТ в управления синтезатором. Он часто нужен , что-бы взаимодействовать с другими программами и возножно с другим "железом". Тремя ключиками синтезатора RZ6FY, я думаю, можно управлять к примеру от LPT.

Serg
11.09.2007, 16:20
Я двумя руками поддерживаю то, что сказал Serg_P!

ur0vs
11.09.2007, 18:00
Во-во, тот же YU1LM уже насоздавал столько, что нам всем вместе не перепаять...

Схемы YU1LM не очень пригодны для многодиапазонного трансивера. Из-за примененных в смесителе аналоговых коммутаторов 4053, 4066 очень проблематично подавить "несущую" в широком диапазоне частот.
Однако для отработки "софта" это не имеет значения и схема предложенная RA9YTJ, вполне подойдет.

YuriP
11.09.2007, 21:34
Так чем закончилась фильтрация с FFT. Фильтр заработал? Давайте разберем это вопрос.У меня статейка есть хорошая. И можно прмерчик на Matlabe сгородить.

RA9YTJ
12.09.2007, 04:24
Схему я разработал и выложил именно для тех кто занимается разработкой и тестированием, ведь без железа ничего нельзя проверить.

To YuriP
Там в форуме выложены примеры программ и описание проблем.
Если вкраце:
Простое обнуление в FFT ряде приводит к ДВУМ проблемам, появляются в выходном сигнале лишние гармоники, остатки удаленного спектра и увеличение амплитуды на пиках.
Есть решения, которые в некоторой степени компенсируют недостаток, это использование алгоритма с наложением буфферов а на них окон( которое следует еще подобрать для наших целей), наложение на выходной буффер фильтр, как у ХАМский designer, нормализация амплитуды. Есть предложения другие? Статейку в студию :-)
А вообще кто хочет конкретно разобратся в особенностях FFT, внимательно почитайте ту ветку форума, посмотрите программы и почитайте на что есть там ссылки.

UR5ZQV
12.09.2007, 07:27
я думаю, можно управлять к примеру от LPT
Как крайний случай. LPT сильно зависит от оси. А в W2k и XP доступ к нему связан с проблемами. Лучше второй СОМ или USB.