Jump to content

    

C2000

Свой
  • Content Count

    503
  • Joined

  • Last visited

Community Reputation

0 Обычный

About C2000

  • Rank
    Знающий
  • Birthday 01/12/1984

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

3295 profile views
  1. Как из питоновского скрипта запустить компиляцию Си файла (запуск gcc + заранее созданый make файл) для создания dll, которая в дальнейшем будет использована в этом же скрипте?
  2. Можно подробнее, если возможно с примером или ссылкой на подробное описание
  3. А если подать единичный сигнал, получить импульсную характеристику и из нее уже ачх и фчх?
  4. Подскажите, как можно получить (в matlab) АЧХ и ФЧХ фильтра реализованного в Си функции (как подключить Си функцию в скрипт известно). Си функция принимает выходные выборки фильтрует и на выходе соответственно отфильтрованный сигнал. Первая мысль в лоб, это прогонять через фильтр сигналы на всех частотах и анализировать что на выходе, но возможно есть более правильный способ?
  5. Добрый день! Подскажите, есть ли аналог ftool для phyton, для построения АЧХ, ФЧХ, импульсных характеристик? И что предпочтительнее в качестве бесплатной замены для Matlab, python или octave?
  6. В принципе сумма в приведенном примере сходиться уже после 5 элементов, но результат почему-то некорректный. Пробую рассчитать Elliptic Halfband Filter, по методике указанной в этой статье (страница 3, начиная с пункта (i)): IEEE_Elliptic filter design for a class of generalized halfband filters.pdf Беру за пример для расчёта Example II (стр.4) из этой же статьи, но коэффициенты никак не хотят совпадать с теми что автор рассчитал, и как следствие желаемые характеристики фильтра не получаются. С коэффициентами из статьи все гуд. Прошу помощи у тех кто имеет больший опыт с матлабом и опыт в дизайне фильтров. Возможно в статье ошибка? Например в формуле (36) по-моему должна быть сумма для m от 1 до inf, а не для i. Вот мой скрипт, гляньте пожалуйста, что не так: % (i) We are given input data Ap = 0.001; % is the maximum permissible passband magnitude deviation As = 0.001; % is the maximum permissible stopband magnitude deviation Wp = 0.48*pi; % frequency pass Ws = pi - Wp; % frequency stop L = 6; % % (ii) Compute A as in (20). A = min(As, (2*Ap - Ap^2)^0.5); % the required stopband magnitude deviation for the analog filter %(iii) Compute k k = tan(Wp/2)^2; k_ = (1-k^2)^0.5; %(iv) If p = 0.5 * (1 - k_^0.5) / (1 + k_^0.5); q = p + 2*(p^5) + 15*(p^9) + 150*(p^13); % (iv) From (27) and (31), obtain N = 2L + 1; N = 2*L + 1; % (vi) Compute by approximating the expansion of (23): ai = zeros(L,1); for i = 1:L syms m f = ((-1)^m) * ( q^(m*(m+1)) ) * sin( ((2*m + 1)*pi*i) / N ); sum_1 = symsum(f, m, 0, 50); syms m f = ((-1)^m)* (q^(m^2)) * cos(2*m*pi*i/N); sum_2 = symsum(f, m, 1, 50); Om = (2*(q^0.25) * sum_1) / (1 + sum_2); % (vii) Compute cos using (25) and (26) ri = abs( ( (1 - k * (Om^2))*(1 - (Om^2)/k) ) )^0.5; cosO = ( ((-1)^(i+1)) * ri ) / (1 + Om^2); ai_ = (1 - cosO) / (1 + cosO); format long %выводить много цифр после запятой if (ai_ <= 1) ai(i) = ai_; else ai(i) = 1/ai_; end; end ai
  7. Подскажите как в Matlab посчитать вот это: При использовании symsum с аргументов inf Матлаб виснет.
  8. Можно здесь подробнее, что означают эти иероглифы))) Хотел то же самое проделать с IIR фильтром, но как, не понял пока что.
  9. Нашел еще вот такую интересную статью: hilbert_Olli_Niemitalo (90 degree phse shift filter).pdf Вот только автор не рассказывает как он коэффициенты к этим фильтрам подбирал, только анализ результата. Есть ли какие то мысли, как эти фильтры рассчитывались? Там в конце дана формула одного звена: out(t) = a^2*(in(t) + out(t-2)) - in(t-2) Как получить АЧХ и ФЧХ именно по функции, в конечном итоге хотелось бы Си файл с функцией фильтра подцеплять и проверять что получается.
  10. Спасибо с фильтрами получилось. Еще не подскажите как в Матлабе вот эти вильтры получить: Все пропускающие фильтры (dsplib.ru) В fdatool таких не нашёл
  11. Можно код для Matlab в качестве примера, где сначала рассчитывается фильтр, потом к нему добавляется задержка в сэмплах и это всё выводиться. Можно ли также построить АЧХ и ФЧХ двух фильтров каскадом или разницу между выходами двух фильтров. Если есть такие примеры буду очень признателен.
  12. Смешно) Почитайте внимательно, с самого начала Может для себя что-нибудь растолкуете. Вообще как можно такими словами оперировать, когда Вы сами не в теме вообще.
  13. Спасибо, интересно, но вряд ли возможно в МК, в реальном времени, когда данные идут непрерывным потоком, и пропуски в обработке недопустимы. Да и считать нужно в диапазоне 5Гц - 2КГц (желательно). В отличии например от той же Алисы или Гугл помощника, которые могут записать фразу, а потом анализировать её секунду или несколько. Хотя конечно там алгоритмы куда сложнее, но и ресурсы другие. А бывают еще интергармоники. В общем фильтр видится идеальным решением, но порядок великоват.
  14. Это я видел, вот что с этим делать... Пробовал разные варианты, но либо порядок фильтра высокий, либо АЧХ не стабильна. Возможно ли сделать симметричный фильтр, пусть не до 2000КГц, хотя бы до 1КГц (дальше в середине может быть и провал АЧХ, но выше 0 не желательно), но чтобы от 20Гц до 1Кгц АЧХ была постоянная. Или для КИХ только увеличением порядка можно для низкой частоты нормальную характеристику получить? Есть ли подобные решения для БИХ фильтров, там за счёт обратной связи можно было бы снизить порядок фильтра.