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

Pavel Proskura

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

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

  • Посещение

Репутация

1 Обычный

Информация о Pavel Proskura

  • Звание
    Частый гость
    Частый гость

Посетители профиля

5 744 просмотра профиля
  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. Может быть в статьях более подробно раскрыта математика. Удачи.
×
×
  • Создать...