RG29 0 19 февраля, 2018 Опубликовано 19 февраля, 2018 · Жалоба Спектр треугольника содержит нечетные гармоники фундаментальной частоты (в Вашем случае еще и постоянку), амплитуда которых убывает как квадрат их номера. Для того, чтобы синтезировать более-менее нормальны треугольник нужно взять хотя бы 5 гармоник (см https://en.wikipedia.org/wiki/Triangle_wave). Это даст полосу сигнала равную 10*(1/Период). Соответственно, для дискретизации такого сигнала требуется примерно 20-ти кратная частота дискретизации. Чисто из интереса, то есть, если я руками допишу по 20 промежуточных точек в исходные данные и в расчёт фильтра поставлю новую частоту 220500, то фильтр отработает как надо и на выходе получится синусоида? Цель то всего этого? не понятно.. Или показать кому то наглядно надо? )) и еще.. как уже было сказано выше, это не искажения... Цель проста - постижение науки ЦОС :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Realking 0 19 февраля, 2018 Опубликовано 19 февраля, 2018 · Жалоба Чисто из интереса, то есть, если я руками допишу по 20 промежуточных точек в исходные данные и в расчёт фильтра поставлю новую частоту 220500, то фильтр отработает как надо и на выходе получится синусоида? ))) да не треугольник у Вас но если допишите, то да - треугольник но и фильтровать (гасить) вы должны от 10 кГц и выше Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andyp 9 19 февраля, 2018 Опубликовано 19 февраля, 2018 · Жалоба Тогда такой вопрос - можно как-то исправить искажения из-за низкой частоты семплирования программно? Что значит исправить? В лучшем случае удастся отфильтровать те гармоники, которые завернулись в полосу сигнала при дискретизации. Только проще сразу формировать сигнал как сумму гармоник, которые укладываются в половину частоты дискретизации. Среднеквадратическая ошибка в этом случае будет минимальна. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Realking 0 19 февраля, 2018 Опубликовано 19 февраля, 2018 · Жалоба Чисто из интереса, то есть, если я руками допишу по 20 промежуточных точек в исходные данные и в расчёт фильтра поставлю новую частоту 220500, то фильтр отработает как надо и на выходе получится синусоида? Цель проста - постижение науки ЦОС :rolleyes: Fs = 220500; t = (0:250)/Fs; tri = sawtooth(2 * pi * 5000 * t, 0.5); windowSize = 15; b = (1 / windowSize)*ones(1,windowSize); a = 1; out = filter(b,a,tri); plot(tri); hold on; plot(out); грубый пример (фильтр однородный) поставьте Fs = 10000; и увидите первоначальную свою картинку ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RG29 0 19 февраля, 2018 Опубликовано 19 февраля, 2018 · Жалоба Сделал как описано выше. Всё работает, как и должно :rolleyes: Тему можно закрывать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться