fdesign.bandstop

Объект спецификации заграждающего фильтра

Синтаксис

D = fdesign.bandstop
D = fdesign.bandstop(SPEC)
D = fdesign.bandstop(SPEC,specvalue1,specvalue2,...)
D = fdesign.bandstop(specvalue1,specvalue2,specvalue3,specvalue4,...
specvalue5,specvalue6,specvalue7)
D = fdesign.bandstop(...,Fs)
D = fdesign.bandstop(...,MAGUNITS)

Описание

D = fdesign.bandstop создает объект D спецификации заграждающего фильтра, применяя значения по умолчанию для свойств Fpass1, Fstop1, Fstop2, Fpass2, Apass1, Astop1 и Apass2.

D = fdesign.bandstop(SPEC) объект D построений и наборы свойство Specification к SPEC. Записи в SPEC представляют различные функции ответа фильтра, такие как порядок фильтра, которые управляют проектом фильтра. Действительные доступы для SPEC показывают ниже. Эти записи не являются чувствительными к регистру.

Примечание

Опции спецификации, отмеченные звездочкой, требуют программного обеспечения DSP System Toolbox™.

  • 'Fp1,Fst1,Fst2,Fp2,Ap1,Ast,Ap2' (спецификация по умолчанию)

  • 'N,F3dB1,F3dB2'

  • 'N,F3dB1,F3dB2,Ap' *

  • 'N,F3dB1,F3dB2,Ap,Ast' *

  • 'N,F3dB1,F3dB2,Ast' *

  • 'N,F3dB1,F3dB2,BWp' *

  • 'N,F3dB1,F3dB2,BWst' *

  • 'N,Fc1,Fc2'

  • 'N,Fc1,Fc2,Ap1,Ast,Ap2'

  • 'N,Fp1,Fp2,Ap'

  • 'N,Fp1,Fp2,Ap,Ast'

  • 'N,Fp1,Fst1,Fst2,Fp2'

  • 'N,Fp1,Fst1,Fst2,Fp2,C' *

  • 'N,Fp1,Fst1,Fst2,Fp2,Ap' *

  • 'N,Fst1,Fst2,Ast'

  • 'Nb,Na,Fp1,Fst1,Fst2,Fp2' *

Спецификации фильтра заданы можно следующим образом:

  • Ap — сумма пульсации, позволенной в полосе пропускания в децибелах (модули по умолчанию). Также названный Apass.

  • Ap1 — сумма пульсации, позволенной в полосе передачи в децибелах (модули по умолчанию). Также названный Apass1.

  • Ap2 — сумма пульсации, позволенной в полосе передачи в децибелах (модули по умолчанию). Также названный Apass2.

  • \ast затухание в первой полосе задерживания в децибелах (модули по умолчанию). Также названный Astop1.

  • BWp — пропускная способность полосы пропускания фильтра. Заданный в нормированных единицах частоты.

  • BWst — пропускная способность полосы задерживания фильтра. Заданный в нормированных единицах частоты.

  • Флаг полосы C — Constrained. Это позволяет вам задать пульсацию полосы пропускания или затухание полосы задерживания для проектов фиксированного порядка в один или две из этих трех полос.

    В спецификации 'N,Fp1,Fst1,Fst2,Fp2,C' вы не можете задать ограничения одновременно в обеих полосах пропускания и полосе задерживания. Можно задать ограничения в любом или двух полосах.

  • F3dB1 — частота среза для точки точки 3 дБ ниже значения полосы пропускания для первого сокращения.

  • F3dB2 — частота среза для точки точки 3 дБ ниже значения полосы пропускания для второго сокращения.

  • Fc1 — частота среза для точки точки 6 дБ ниже значения полосы пропускания для первого сокращения. (КИХ-фильтры)

  • Fc2 — частота среза для точки точки 6 дБ ниже значения полосы пропускания для второго сокращения. (КИХ-фильтры)

  • Fp1 — частота в начале полосы передачи. Также названный Fpass1.

  • Fp2 — частота в конце полосы передачи. Также названный Fpass2.

  • Fst1 — частота в конце первой полосы задерживания. Также названный Fstop1.

  • Fst2 — частота в начале второй полосы задерживания. Также названный Fstop2.

  • N отфильтруйте порядок.

  • Нет данных порядок знаменателя для БИХ-фильтров.

  • Nb — порядок числителя для БИХ-фильтров.

Графически, спецификации фильтра выглядят подобными показанным в следующей фигуре.

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

Методы разработки фильтра, которые применяются к изменению объекта спецификации заграждающего фильтра в зависимости от Specification. Используйте designmethods, чтобы определить, какие методы разработки применяются к объекту и значению свойства Specification.

Используйте designopts, чтобы определить проектные решения для данного метода разработки. Введите help(D,METHOD) в командной строке MATLAB®, чтобы получить подробную справку на проектных решениях для данного метода разработки, METHOD.

D = fdesign.bandstop(SPEC,specvalue1,specvalue2,...) создает объект D и устанавливает его спецификации во время создания.

D = fdesign.bandstop(specvalue1,specvalue2,specvalue3,specvalue4,...
specvalue5,specvalue6,specvalue7)
создает объект D со свойством Specification по умолчанию, с помощью значений, которые вы обеспечиваете в specvalue1,specvalue2,specvalue3,specvalue4,specvalue5, specvalue6 и specvalue7.

D = fdesign.bandstop(...,Fs) добавляет аргумент Fs, заданный в Гц, чтобы задать частоту дискретизации. Если вы задаете частоту дискретизации как запаздывающий скаляр, все частоты в спецификациях находятся в Гц также.

D = fdesign.bandstop(...,MAGUNITS) задает модули для любой спецификации значения, которую вы обеспечиваете во входных параметрах. MAGUNITS может быть одним из

  • 'linear' — задайте значение в линейных модулях

  • 'dB' — задайте значение в дБ (децибелы)

  • 'squared' — задайте значение в блоках питания

Когда вы не используете аргумент MAGUNITS, fdesign принимает, что все значения находятся в децибелах. Обратите внимание на то, что fdesign хранит все спецификации значения в децибелах (преобразовывающий в децибелы когда необходимый) независимо от того, как вы задаете значения.

Примеры

свернуть все

Создайте заграждающий фильтр, чтобы отклонить дискретный диапазон частот между 3π/8 и радом/выборкой 5π/8. Примените фильтр к сигналу дискретного времени, состоящему из суперпозиции трех синусоид дискретного времени.

Разработайте КИХ equiripple, фильтруют и просматривают его ответ значения.

d = fdesign.bandstop('Fp1,Fst1,Fst2,Fp2,Ap1,Ast,Ap2', ...
    2/8,3/8,5/8,6/8,1,60,1);
Hd = design(d,'equiripple');

fvtool(Hd)

Создайте сигнал дискретного времени и отфильтруйте его.

n = 0:99;
x = cos(pi/5*n)+sin(pi/2*n)+cos(4*pi/5*n);
y = filter(Hd,x);

Постройте исходные и отфильтрованные сигналы в частотном диапазоне.

xdft = fft(x);
ydft = fft(y);
freq = 0:(2*pi)/length(x):pi;

plot(freq/pi,abs(xdft(1:length(x)/2+1)))
hold on
plot(freq/pi,abs(ydft(1:length(y)/2+1)),'r','linewidth',2)
hold off
xlabel('Normalized Frequency (\times\pi rad/sample)')
ylabel('Magnitude')
legend('Original Signal','Bandstop Signal')

Создайте заграждающий фильтр Баттерворта для данных, выбранных на уровне 10 кГц. Полоса задерживания [1 1.5] kHz. Порядок фильтра равняется 20. Визуализируйте частотную характеристику.

d = fdesign.bandstop('N,F3dB1,F3dB2',20,1e3,1.5e3,1e4);
Hd = design(d,'butter');

fvtool(Hd)

Увеличьте масштаб графика ответа значения проверить, что 3 дБ вниз указывают, расположены в 1 и 1,5 кГц.

axis([0.5 2 -5 2])

Разработайте КИХ ограниченной полосы equiripple фильтр порядка 100 для данных, выбранных на уровне 10 кГц. Можно задать ограничения на самое большее две из этих трех полос: две полосы пропускания и одна полоса задерживания. В этом примере ограничьте пульсацию полосы пропускания составлять 0,5 дБ в каждой полосе пропускания.

d = fdesign.bandstop('N,Fp1,Fst1,Fst2,Fp2,C',100,800,1e3,1.5e3,1.7e3,1e4);
d.Passband1Constrained = true; d.Apass1 = 0.5;
d.Passband2Constrained = true; d.Apass2 = 0.5;
Hd = design(d,'equiripple');

Визуализируйте ответ значения и измерьте проект.

fvtool(Hd)

measure(Hd)
ans = 
Sample Rate             : 10 kHz     
First Passband Edge     : 800 Hz     
First 3-dB Point        : 852.4565 Hz
First 6-dB Point        : 881.7834 Hz
First Stopband Edge     : 1 kHz      
Second Stopband Edge    : 1.5 kHz    
Second 6-dB Point       : 1.6185 kHz 
Second 3-dB Point       : 1.6478 kHz 
Second Passband Edge    : 1.7 kHz    
First Passband Ripple   : 0.49642 dB 
Stopband Atten.         : 48.8466 dB 
Second Passband Ripple  : 0.49634 dB 
First Transition Width  : 200 Hz     
Second Transition Width : 200 Hz     
 

С этим фильтром порядка и ограничениями пульсации полосы пропускания, вы достигаете приблизительно 50 дБ затухания полосы задерживания.

Смотрите также

| | |

Представленный в R2009a