Quttar 0 20 мая, 2020 Опубликовано 20 мая, 2020 · Жалоба Есть задание, в котором я в принципе разобрался, но есть один не ясный момент (наверняка самый главный) Создать меандр с амплитудой 1 В, периодом 20/Fs и частотой дискретизации Fs. Предложить способ и реализовать удаление из сигнала только третьей гармоники. Отобразить результат во временной и частотной областях. Вот создать меандр понятно как более менее. Так как любой сигнал можно представить в виде суммы синусоид, то такой сигнал состоит из гармоник. Но, вопрос в том, как найти эту третью гармонику и убрать ее? Желательно с помощью КИХ фильтра. Есть предположение, что частота первой гармоники будет равняться: f = Fs/20, а следовательно получается, что частота нужной гармоники будет равняться 3*f. Я не прошу решать задачу за меня, просто можете дать направление, в котором мыслить, чтобы решить эту задачу? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость vitzap 21 мая, 2020 Опубликовано 21 мая, 2020 (изменено) · Жалоба ход ваших мыслей правильный. Далее вам нужно спроектировать необходимый фильтр (кстати, почему КИХ?). Если есть MATLAB, попробуйте инструмент fdatool - там все наглядно. Делаете фильтр, ослабляющий требуемую гармонику на необходимую величину (совсем убрать ее, естественно, не выйдет) и вносящий допустимое затухание в первую (конечно, она будет ослабляться, как же иначе). Потом пропускаете сигнал через фильтр. Если есть матлаб, найдите книгу Сергиенко про цифровую обработку сигналов, там было много примеров. Изменено 21 мая, 2020 пользователем vitzap Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Quttar 0 21 мая, 2020 Опубликовано 21 мая, 2020 (изменено) · Жалоба Я хочу разобраться именно в КИХ фильтре, и еще мы используем scilab, и даже если там есть похожая функция, то это немного не честно получается ее использовать. Можно сконструировать КИХ фильтр такой, чтобы в его АЧХ было сильное затухание в при частоте у 3 кГц? То есть нужно задать коэффициенты y(k) = a1*x(k) +a2*x(k-1)+a3*x(k-2)+a4*x(k)+a5*x(k)... Вот,как более менее точно найти эти коэффициенты? Изменено 21 мая, 2020 пользователем Quttar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
seniorandre 0 21 мая, 2020 Опубликовано 21 мая, 2020 · Жалоба http://www.dsplib.ru/content/notch/notch.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость vitzap 21 мая, 2020 Опубликовано 21 мая, 2020 · Жалоба 1 hour ago, Quttar said: Я хочу разобраться именно в КИХ фильтре, и еще мы используем scilab, и даже если там есть похожая функция, то это немного не честно получается ее использовать. Можно сконструировать КИХ фильтр такой, чтобы в его АЧХ было сильное затухание в при частоте у 3 кГц? То есть нужно задать коэффициенты y(k) = a1*x(k) +a2*x(k-1)+a3*x(k-2)+a4*x(k)+a5*x(k)... Вот,как более менее точно найти эти коэффициенты? Есть разные методы. Ищите "методы синтеза ких фильтров". Один из методова "на пальцах": то задаетесь требуемой АЧХ, делаете обратное преобразование от нее - получаете импульсную характеристику. В общем случае она бесконечная. Поскольку у нас должен получиться фильтр с конечной характеристикой, возьмем только N первых, где N-порядок фильтра. Это и будут коэффициенты a1, a2, .. aN. Найдем Фурье-образ этой импульсной характеристики, и у нас получится АЧХ получившегося фильтра. Она конечно, исказиться. Чтобы уменьшить искажения, коэффициенты фильтра придумали умножать на специальные полиномы - весовые окна. Для большего понимания читайте учебники. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 2 21 мая, 2020 Опубликовано 21 мая, 2020 · Жалоба 4 минуты назад, vitzap сказал: Есть разные методы. Ищите "методы синтеза ких фильтров". Один из методова "на пальцах": то задаетесь требуемой АЧХ, делаете обратное преобразование от нее - получаете импульсную характеристику. В общем случае она бесконечная. Поскольку у нас должен получиться фильтр с конечной характеристикой, возьмем только N первых, где N-порядок фильтра. Это и будут коэффициенты a1, a2, .. aN. Найдем Фурье-образ этой импульсной характеристики, и у нас получится АЧХ получившегося фильтра. Она конечно, исказиться. Чтобы уменьшить искажения, коэффициенты фильтра придумали умножать на специальные полиномы - весовые окна. Для большего понимания читайте учебники. А при обратном преобразовании мы разве не получим комплексные отсчёты ? Или это не проблема? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Quttar 0 21 мая, 2020 Опубликовано 21 мая, 2020 (изменено) · Жалоба 27 минут назад, vitzap сказал: Есть разные методы. Ищите "методы синтеза ких фильтров". Один из методова "на пальцах": то задаетесь требуемой АЧХ, делаете обратное преобразование от нее - получаете импульсную характеристику. В общем случае она бесконечная. Поскольку у нас должен получиться фильтр с конечной характеристикой, возьмем только N первых, где N-порядок фильтра. Это и будут коэффициенты a1, a2, .. aN. Найдем Фурье-образ этой импульсной характеристики, и у нас получится АЧХ получившегося фильтра. Она конечно, исказиться. Чтобы уменьшить искажения, коэффициенты фильтра придумали умножать на специальные полиномы - весовые окна. Для большего понимания читайте учебники. Вот, это наверно способ, который мне подойдет) Собственно для данной задачи, по фильтрации гармоники 3 кГц, исходный (идеальный) АЧХ будет выглядеть так? Правильно, ли я понимаю, что нам достаточно ее строить для частот до половины частоты дискретизации? Изменено 21 мая, 2020 пользователем Quttar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость vitzap 21 мая, 2020 Опубликовано 21 мая, 2020 · Жалоба в идеале-да, но такой фильтр с КИХ-архитектурой будет не оооочень большого порядка. Но если в задании сказано КИХ, значит КИХ. 53 minutes ago, Lmx2315 said: А при обратном преобразовании мы разве не получим комплексные отсчёты ? Или это не проблема? Можно взять исходную АЧХ действительную, т.е. симметричную относительно нулевой частоты. Можно отбросить комплексные составляющие. Вроде бы должно получиться одно и то же. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 2 21 мая, 2020 Опубликовано 21 мая, 2020 · Жалоба 19 минут назад, vitzap сказал: Можно взять исходную АЧХ действительную, т.е. симметричную относительно нулевой частоты. Можно отбросить комплексные составляющие. Вроде бы должно получиться одно и то же. Поэтому, человеку выше, надо его АЧХ для полной шкалы дискретизации строить а не для половины. з.ы. идеально конечно в octave накидать примерчик и играться с полосами, окнами и т.д. afh_428875_432000_435125_128_v1.txt afh_428875_432000_435125_128_v1_etalon.txt fir_compes_achh_v1.m Я как-то считал корректирующий фильтр КИХ для характеристики. В первом файле измеренная АЧХ , во втором эталонная. Код ищет компенсационную характеристику и считает коэффициенты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Quttar 0 21 мая, 2020 Опубликовано 21 мая, 2020 (изменено) · Жалоба 2 часа назад, vitzap сказал: Есть разные методы. Ищите "методы синтеза ких фильтров". Один из методова "на пальцах": то задаетесь требуемой АЧХ, делаете обратное преобразование от нее - получаете импульсную характеристику. В общем случае она бесконечная. Поскольку у нас должен получиться фильтр с конечной характеристикой, возьмем только N первых, где N-порядок фильтра. Это и будут коэффициенты a1, a2, .. aN. Найдем Фурье-образ этой импульсной характеристики, и у нас получится АЧХ получившегося фильтра. Она конечно, исказиться. Чтобы уменьшить искажения, коэффициенты фильтра придумали умножать на специальные полиномы - весовые окна. Для большего понимания читайте учебники. Я сделал по данному методу, импульсная характеристика получилась с комплексными числами. Отбросил мнимую часть. И по построенной импульсной характеристике нашел ее АЧХ. Но на АЧХ характеристика, там где изначально принимала 0, теперь принимает 0.5. Пробовал увеличивать полосу заграждения, но видимо, нужно что-то другое исправить. Не подскажите, в чем может быть тут проблема? Изменено 21 мая, 2020 пользователем Quttar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость vitzap 21 мая, 2020 Опубликовано 21 мая, 2020 (изменено) · Жалоба Не должно так быть. Для начала строчка 73-должно быть ifft, и почему второй параметр - количество точек = 1? Это вы получите импульсную характеристику вашего идеального фильтра. Ограничьте ее длину (обнулите массив дальше N-го коэффициента) и сделайте прямое fft. Потом "поиграйте" с окнами, какое даст лучший результат. Скоро сессия? Изменено 21 мая, 2020 пользователем vitzap Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Quttar 0 21 мая, 2020 Опубликовано 21 мая, 2020 (изменено) · Жалоба 2 минуты назад, vitzap сказал: Не должно так быть. Для начала строчка 73-должно быть ifft, и почему второй параметр - количество точек = 1? Это вы получите импульсную характеристику вашего идеального фильтра. Ограничьте ее длину (обнулите массив дальше N-го коэффициента) и сделайте прямое fft. Потом "поиграйте" с окнами, какое даст лучший результат. Скоро сессия? У меня по этому предмету нет сессии Цифра 1 как я понимаю говорит о том, что нужно сделать обратное преобразование фурье Изменено 21 мая, 2020 пользователем Quttar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Quttar 0 21 мая, 2020 Опубликовано 21 мая, 2020 (изменено) · Жалоба Может быть ошибка в самом начале решения задачи? Смотрите есть такой сигнал, длительностью 120 отсчетов. Рядом с ним приведен его частотный спектр. Я строю АЧХ, которая мне нужна. Правильно ли, что я беру в ней 4500 отсчетов? Изменено 21 мая, 2020 пользователем Quttar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость vitzap 21 мая, 2020 Опубликовано 21 мая, 2020 · Жалоба Не нужно столь много. Начните с 128. Впрочем, в любом случае работать должно. У вас в программе 450, можно так оставить Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Quttar 0 21 мая, 2020 Опубликовано 21 мая, 2020 (изменено) · Жалоба Что-бы загородить частоту 1350 (частота 3 гармоники) нужно занулить отсчеты например с 1300 по 1400? По идее другие гармоники не должны быть задеты. Я беру столько отсчетов, так как проще понять какие отсчеты на АЧХ занулить. Хотя согласен, что может быть это перебор. Вот так выглядит АЧХ данного фильтра: Изменено 21 мая, 2020 пользователем Quttar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться