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

фильтр бесселя в матлаб

можно ли рассчитать цифровой фильтр бесселя в матлабе в версии 7,0 нашел только аналоговый?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как же fdatool целый пакет в матлабе для рассчета фильтров.

список доступного в FDA БИХ фильтры:

buterwort

chebishev1

chebishev2

elliptic

max flat

least P-norm

const least P-norm

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну в Matlab есть неплохой хелп. Вот в нем указано что есть функция:

besselj

 

Bessel function of first kind

Syntax

 

J = besselj(nu,Z)

J = besselj(nu,Z,1)

[J,ierr] = besselj(nu,Z)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну в Matlab есть неплохой хелп. Вот в нем указано что есть функция:

besselj

 

Bessel function of first kind

Syntax

 

J = besselj(nu,Z)

J = besselj(nu,Z,1)

[J,ierr] = besselj(nu,Z)

 

я знаю про неплохость хелпа в матлабе)). фильтр бесселя и функция бесселя к-го порядка от аргумента нужны для разных задач (если я не ошибаюсь конечно), см. все тот же хелп.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но ведь передаточная функция фильтров Бесселя записывается в виде отношения коэффициента к функци Бесселя n-го порядка.

 

Так что вроде все есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но ведь передаточная функция фильтров Бесселя записывается в виде отношения коэффициента к функци Бесселя n-го порядка.

 

Так что вроде все есть.

 

если можно опишите поподробнее, как из функции бесселя получить фильтр бесселя скажем 4-го порядка, частота Fs=8000, Fpass= 500?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если можно опишите поподробнее, как из функции бесселя получить фильтр бесселя скажем 4-го порядка, частота Fs=8000, Fpass= 500?

Ну можно например так:

[b,a]=besself(5,500);

f=0:1:8000;

freqs(b,a,f);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну можно например так:

[b,a]=besself(5,500);

f=0:1:8000;

freqs(b,a,f);

 

что-то мы др. др. не понимаем:

 

besself- это аналоговый фильтр, а как из него сделать цифровой?

 

Вы писали про besselj, вот я спрашивал "если можно опишите поподробнее, как из функции бесселя получить фильтр бесселя скажем 4-го порядка, частота Fs=8000, Fpass= 500?"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мндя... да я не прав.

Да и ответ у меня тогда не такой уж и простой будет...

Правельно это сделать через расчет полюсов т.д. а там ведь функция бесселя у которой нули ваще какие-то не такие...

 

Вообщем есть такая идея:

[b,a]=besself(5,0.2); % надо нормированную частоту, а то весь матлаб плющит

randn('state',0);

noise = randn(50000,1);

x=filter(b,a,noise);

h = lpc(x,15);

 

Вообщем применям линейное предсказание. Вообщем задачу можно решить быстро и с нужной точностью, но так сказать "в лоб".

А и еще: h - это импульсная которую можно и в fdatool загнать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

дак все это ясно, не хочется велосипед изобретать,....

PS: а есть еще ф-я impinvar.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужен фильтр бесселя в fdatools , не нашел.

Может он там есть но я его не вижу?

 

Ну скажем "maximaly flat" это не он случайно?

Изменено пользователем PlainUser

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужен фильтр бесселя в fdatools , не нашел.

Может он там есть но я его не вижу?

 

Ну скажем "maximaly flat" это не он случайно?

 

Расследование выявило что в матлабе цифровой фильтр бесселя отсутствует принципиально.

Ввиду ....

 

" Аналоговые фильтры Бесселя характеризуются практически постоянной групповой задержкой в полосе пропускания, что позволяет сохранить форму пропускаемых через фильтр сигналов (если их спектр сосредоточен в полосе пропускания фильтра). Дискретные фильтры Бесселя не сохраняют это свойство, поэтому функция besself не реализует синтез дискретных фильтров Бесселя."

 

Его можно родить но это будет не он.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вполне сохраняют, если Fc < Fs/4

 

Дискретные фильтры Бесселя не сохраняют это свойство, поэтому функция besself не реализует синтез дискретных фильтров Бесселя.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...