Перейти к содержанию
    

Pavel Proskura

Участник*
  • Постов

    156
  • Зарегистрирован

  • Посещение

Весь контент Pavel Proskura


  1. Добрый день! Столкнулся один в один с проблемой как у Вас, только версия Vivado 19.1. Подскажите есть какое то решение как заставить работать данный IP core?
  2. Software Defined Radio Using MATLAB & Simulink and the RTL-SDR название книги. стр 264. раздел pll-design. Там очень подробно все описано по шагам. Книга в свободном доступе (по крайней мере была раньше).
  3. Включите в Simulink модели во вкладке Display->Signal&Ports->SignalDimensions. При этом после каждого модуля Вы будете видеть размерность вектора. У Вас ошибка связана с тем, что на калькулятор ошибок подаются два вектора разной размерности (их нужно сделать одинаковыми). Скорее всего в каком-то модуле неправильно задана размерность.
  4. Дробный интерполятор - это интерполирующий КИХ-фильтр. Особенность его заключается в том, что коэфф. преобразования частоты дискретизации - есть дробное число. Как пример из аудио, часто нужно передискретизировать сигнал из 44.1 кГц в 48 кГц. В общем применяется там, где нужно преобразовать частоту дискретизации в нецелое число раз.
  5. Да, спасибо вроде бы разобрался. Остался непонятым только момент с каскадами, ведь действительно с точки зрения математики разницы быть не должно. Однако в том варианте как я делал для целочисленного преобразования, дробный вариант никак не хочет работать. Возможно его не поддерживает функция cascade. Хотя в Simulink данная конструкция работает вполне нормально. Из какой же позвольте узнать? Первоначально мой вопрос и звучал таким образом, что как я полагал fvtool не может отрисовать многокаскадный дробный интерполятор/дециматор. И я хотел получить ответ, как мне построить несколько АЧХ вкл. результирующую, и картинку привел как мне нужно чтобы все это выглядело. Следуя Вашим советам у меня не получалось добиться нужного мне результата. Я пытался уточнить как правильно сделать, но вместо этого получал ответы что никакой проблемы нет. А подобного рода скрипт для человека владеющего matlab накидать дело 2-3 мин. Но здесь я с Вами полностью согласен, что писать скрипты никто не обязан, хотя писать по большому счету для того примера который я привел, особо ничего и не надо. Извините что по беспокоил своей ерундой столь занятого человека.
  6. Добрый вечер. Вот я вроде бы попросил постом выше построить в качестве примера тривиальную казалось бы вещь. Двух каскадный интерполятор. При этом отрисовать АЧХ мне требовалось как на картинке которую приводил я. Вместо этого мне второй день заявляют что проблемы никакой нет. Только вот АЧХ в том виде в котором я просил, так никто и не отрисовал. dcs привел скрипт аналогичный моему. Вот попробуйте поставить туда не кратные значения преобразования частоты дискретизации и запустить fvtools или freqz. А после скажите, есть проблема или ее нет. А также есть разница с точки зрения алгоритма matlab между целочисленными и дробными коэффициентами. Извините но график который Вы привели меня не устраивает. Даже ошибку привел которая вылетает Error using mfilt.cascade/validateratechangefactors (line 64)Analysis of multistage-multirate filters in which interpolators follow fractionalrate converters or decimators is not supported. А теперь внимание второй вопрос, если разницы между дробными и целыми коэфф. никакой нет, то какого хрена для дробных значений matlab АЧХ отрисовать не может? Вот и мне этот момент не понятен???
  7. Спасибо за ответ. Но увы данная конструкция будет работать только с целочисленными коэфф. преобразования. Т.е. 2 4 8. Я спрашивал про дробные значения.
  8. Хорошо. Если это так тривиально, а скорее всего так оно и есть, и я действительно что то затупил, то у Вас на построение графика много времени уйти не должно мин.3-5. Постройте пожалуйста график АЧХ для двух каскадного интерполятора скажем со следующими коэфф. интерполяции первый 7/5 второй 4. На графике должны быть АЧХ каскадов и результирующая АЧХ. Полоса пропускания и неравномерность могут быть любыми - не суть. Буду очень признателен если поделитесь скриптом. Заранее спасибо.
  9. Дык, это то понятно. Вопрос в другом, как построить эти АЧХ по каскадно и результирующую, на одном графике. Но при этом, чтобы АЧХ отдельных фильтров были нормированы каждый на свою частоту дискретизации? См. картинку которую я привел. Там ресемплер трехкаскадный, но целочисленный. Не догоняю я, как тоже самое отрисовать для дробных значений. Может есть примеры скрипта именно для отрисовки?
  10. Что-то я совсем запутался. Допустим я воспользовался функцией resample для пересчета ИХ какого-либо из каскадов (не последнего). Строю АЧХ. Но АЧХ я получаю в масштабе нормированном на pi rad/sample. Т. о. я не смогу увидеть АЧХ каждого отдельно взятого каскада, и сравнить их между собой на одном графике. Мне же нужно чтобы они отображались, не как отдельно взятые фильтры нормированные на одну частоту дискретизации, а именно как фильтры нормированные каждый на свою частоту дискретизации, но при этом отрисованные в масштабе Fs/2, где Fs - частота дискретизации последнего каскада. Пример картинки как нужно приведен ниже. Не ужели в matlab нет готовой функции построения АЧХ дробного интерполятора/дециматора, в виде нескольких каскадов КИХ-фильтров? untitled.bmp
  11. Попробовал использовать freqz. Все равно ругается: Error using mfilt.cascade/validateratechangefactors (line 64) Analysis of multistage-multirate filters in which interpolators follow fractional rate converters or decimators is not supported. Как это правильно сделать в MATLAB? Ведь если я правильно понял то, что Вы пытаетесь донести до меня, то алгоритм следующий. 1)Построить импульсные х-ки каждого каскада для своей частоты дискретизации. 2)Пересчитать ИХ для самой высокой частоты дискретизации (последний каскад интерполятора). 3)Свернуть полученные ИХ между собой (получить результирующую ИХ), для конечной частоты дискретизации. 4) воспользоваться функцией freqz. Мне не понятно как в MATLAB сделать пункт 2.
  12. А как нужно учитывать разные тактовые при свертке ИХ-каскадов? В FVTool я делал так f = fvtool(hRRC, hFIR2, hFIR3, FC, 'Fs',[Fs_RRC, Fs, Fs2, Fs2]). Если бы Вы смогли привести пример или ссылку на пример, был бы Вам очень признателен.
  13. Добрый день. Вопрос к знатокам MATLAB. Как в MATLAB построить результирующую АЧХ дробного интерполятора, состоящего из нескольких каскадов? FVTool как я понимаю такую опцию не поддерживает. Может быть есть какие-то альтернативные варианты или инструменты применительно к MATLAB? Заранее спасибо.
  14. Не генерируются в модуле матлаба/simulink или не генерируются в VHDL-файле? Если Вы их не видите как порты модуля MATLAB, то это нормально, а вот если они отсутствуют в файле VHDL, тогда это странно.
  15. Добрый день. Там в конце 13 главы, есть ссылка на литературу позиции 47 и 48. Может быть в статьях более подробно раскрыта математика. Удачи.
  16. Ричард Лайонс. ЦОС. Раздел 13.18. Скользящее ДПФ. Книгу скинул на Вашу почту.
  17. Да, классический Гарднер. При расcтройке несущей ~ 5 МГц, используется два синхронизатора с начальными смещениями несущей +/- 2.5 МГц, какой контур первее войдет в режим захвата по тому и работают.
  18. Добрый день. Совершенно верно. Но я столкнулся со следующей проблемой. Записал сигнал с эфира DVB-S2. Когда стал анализировать его на модели, выяснил что в пользовательском ТВ (Триколор, НТВ+ и т.д.), пилоты отсутствуют. Преамбула составляет всего 26 символов, этого явно недостаточно чтобы надежно корректировать частоту. Вот у меня и возник вопрос как при большой расстройке и при плохом SNR делают АПЧ. Спасибо.
  19. Добрый день! Не подскажет ли кто-нибудь алгоритм грубой АПЧ в DVB-S2? Интересуют СЛЕПЫЕ МЕТОДЫ. В сети в основном описываются алгоритмы использующие пилоты. Пробовал алгоритмы на основе БПФ и Luise & Reggiannini. Для 8-PSK при SNR=10 дБ, результат оценки смещения весьма плачевный. Полагаю связано это с возведение принимаемого сигнала в 8-ю степень. Может быть есть ссылки или статьи испытанного слепого метода подстройки АПЧ в DVB-S2? Буду признателен за любую помощь?
  20. Добрый вечер. В продолжении темы DVB-S2 столкнулся с следующей проблемой. Алгоритм восстановления несущей описанный в стандарте использует пилотные символы. Они используются в модулях грубой и точной АПЧ, а также в модуле грубой оценки фазы. Последним модулем автоподстройки фазы является т.н. фазовый интерполятор. Пилотные символы вставляются после 16 слотов данных (один слот 90 символов). Каждые 16 слотов данных, назовем условно полем данных. Так вот, у меня наблюдается следующая картина. После того как отработали грубая и точная АПЧ, а также отработал фазовый интерполятор - созвездие засинхронизировано и устранена фазовая неоднозначность. Однако как только, начинается новый фрейм (а начинается он с преамбулы и служебного заголовка), в течении первого поля данных (16 слотов) созвездие проворачивается, наблюдается срыв синхронизации. Восстанавливается синхронизация только после первого поля пилотов в кадре. Полагаю срыв происходит из-за того, что модуль оценки фазы в месте заголовка и последующих 16 слотов данных не может корректно отследить уход частоты/фазы так как на длительном интервале времени отсутствуют пилоты (см. картинку). Подскажите пожалуйста: 1) Верно ли мое предположение? 2) Как в DVB-S2 заставить корректно работать модуль оценки фазы в момент начала нового фрейма? Пояснения к картинке: верхний график - результат оценки фазы по 36 пилотам; средний график - результат на выходе фазового интерполятора; нижний график - момент вычисления фазы по 36 пилотам. На среднем графике в месте излома начинается новый фрейм. Заранее спасибо за любые советы и замечания.
  21. Книг действительно много, толковых вот только - единицы.
  22. В. И. Ипатов Широкополосные системы и кодовое разделение сигналов.
  23. Добрый вечер. Подскажите пожалуйста использовал ли кто-то IP-core фирмы Creonic для FPGA применительно к DVB-S2? Интересуют следующие IP-ядра: 1) DVB-S2 LDPC/BCH Encoder and Decoder; 2) DVB-S2 Demodulator. Может кто мог бы поделится подробной документацией на них? Заранее спасибо.
  24. По моему это взято из книги Rice? Надо будет освежить. Спасибо за информацию!
×
×
  • Создать...