реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Не получается цифровой LPF, (в Matlab)
RG29
сообщение Feb 19 2018, 10:09
Сообщение #16


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 31-10-17
Пользователь №: 99 993



Цитата(andyp @ Feb 19 2018, 12:52) *
Спектр треугольника содержит нечетные гармоники фундаментальной частоты (в Вашем случае еще и постоянку), амплитуда которых убывает как квадрат их номера. Для того, чтобы синтезировать более-менее нормальны треугольник нужно взять хотя бы 5 гармоник (см https://en.wikipedia.org/wiki/Triangle_wave). Это даст полосу сигнала равную 10*(1/Период). Соответственно, для дискретизации такого сигнала требуется примерно 20-ти кратная частота дискретизации.

Чисто из интереса, то есть, если я руками допишу по 20 промежуточных точек в исходные данные и в расчёт фильтра поставлю новую частоту 220500, то фильтр отработает как надо и на выходе получится синусоида?




Цитата(Realking @ Feb 19 2018, 13:00) *
Цель то всего этого? не понятно..

Или показать кому то наглядно надо? ))

и еще.. как уже было сказано выше, это не искажения...

Цель проста - постижение науки ЦОС rolleyes.gif
Go to the top of the page
 
+Quote Post
Realking
сообщение Feb 19 2018, 10:10
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771



Цитата(RG29 @ Feb 19 2018, 13:05) *
Чисто из интереса, то есть, если я руками допишу по 20 промежуточных точек в исходные данные и в расчёт фильтра поставлю новую частоту 220500, то фильтр отработает как надо и на выходе получится синусоида?




)))
да не треугольник у Вас

но если допишите, то да - треугольник

но и фильтровать (гасить) вы должны от 10 кГц и выше




--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
Go to the top of the page
 
+Quote Post
andyp
сообщение Feb 19 2018, 10:15
Сообщение #18


Местный
***

Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163



Цитата(RG29 @ Feb 19 2018, 12:53) *
Тогда такой вопрос - можно как-то исправить искажения из-за низкой частоты семплирования программно?


Что значит исправить?

В лучшем случае удастся отфильтровать те гармоники, которые завернулись в полосу сигнала при дискретизации. Только проще сразу формировать сигнал как сумму гармоник, которые укладываются в половину частоты дискретизации. Среднеквадратическая ошибка в этом случае будет минимальна.
Go to the top of the page
 
+Quote Post
Realking
сообщение Feb 19 2018, 10:18
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771



Цитата(RG29 @ Feb 19 2018, 13:09) *
Чисто из интереса, то есть, если я руками допишу по 20 промежуточных точек в исходные данные и в расчёт фильтра поставлю новую частоту 220500, то фильтр отработает как надо и на выходе получится синусоида?





Цель проста - постижение науки ЦОС rolleyes.gif


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;
и увидите первоначальную свою картинку )


--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
Go to the top of the page
 
+Quote Post
RG29
сообщение Feb 19 2018, 10:50
Сообщение #20


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 31-10-17
Пользователь №: 99 993



Сделал как описано выше. Всё работает, как и должно rolleyes.gif

Тему можно закрывать.
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 15th June 2025 - 05:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01391 секунд с 7
ELECTRONIX ©2004-2016