Минимум wordlength фильтр фиксированной точки
Hq = minimizecoeffwl(Hd)
Hq = minimizecoeffwl(Hd,...,'NoiseShaping',NSFlag)
Hq = inimizecoeffwl(Hd,...,'NTrials',N)
Hq = minimizecoeffwl(Hd,...'Apasstol',Apasstol)
Hq = minimizecoeffwl(Hd,...,'Astoptol',Astoptol)
Hq = minimizecoeffwl(Hd,...,'MatchrefFilter',RefFiltFlag)
Hq = minimizecoeffwl(Hd) возвращает минимум wordlength объект фильтра фиксированной точки Hq это соответствует спецификациям проекта одноступенчатого или многоступенчатого КИХ-объекта фильтра Hd. Hd должен быть сгенерирован с помощью fdesign и design. Если Hd многоступенчатый объект фильтра, процедура минимизирует wordlength для каждого этапа отдельно. minimizecoeffwl использует стохастическую формирующую шум процедуру по умолчанию, чтобы минимизировать wordlength. Чтобы получить повторяемые результаты на последовательных вызовах функции, инициализируйте универсальный генератор случайных чисел rand.
Hq = minimizecoeffwl(Hd,...,'NoiseShaping',NSFlag) включает или отключает стохастическую формирующую шум процедуру в минимизации wordlength. NSFlag по умолчанию true. Установка NSFlag к false минимизирует wordlength, не используя формирование шума.
Hq = inimizecoeffwl(Hd,...,'NTrials',N) задает количество испытаний Монте-Карло, чтобы использовать в минимизации. Hq фильтр с минимумом wordlength среди N испытания, который соответствует спецификациям в Hd. 'NTrials' значения по умолчанию одному.
Hq = minimizecoeffwl(Hd,...'Apasstol',Apasstol) задает допуск неравномерности в полосе пропускания в дБ. 'Apasstol' значения по умолчанию к 1e-4.
Hq = minimizecoeffwl(Hd,...,'Astoptol',Astoptol) задает допуск полосы задерживания в дБ. 'Astoptol' значения по умолчанию к 1e-2.
Hq = minimizecoeffwl(Hd,...,'MatchrefFilter',RefFiltFlag) определяет, совпадает ли фильтр фиксированной точки с порядком фильтра и шириной перехода проекта с плавающей точкой. Установка 'MatchRefFilter' к true возвращает фильтр фиксированной точки с тем же порядком и шириной перехода как Hd. 'MatchRefFilter' значения по умолчанию свойства к false и получившийся фильтр фиксированной точки может иметь различный порядок и ширину перехода, чем проект с плавающей точкой Hd.
Необходимо было установить программное обеспечение Fixed-Point Designer™, чтобы использовать эту функцию.
Минимизируйте wordlength для КИХ lowpass equiripple фильтр:
f=fdesign.lowpass('Fp,Fst,Ap,Ast',0.2,0.3,1,60); % Design filter with double-precision floating point Hd=design(f,'equiripple'); % Find minimum wordlength fixed-point filter % with 0.15 dB stopband tolerance Hq=minimizecoeffwl(Hd,'MatchRefFilter',true,'Astoptol',0.15); Hq1=minimizecoeffwl(Hd,'Astoptol',0.15); % Hq.coeffwordlength is 14 bits. % Hq1.coeffwordlength is 11 bits hfvt=fvtool(Hd,Hq,Hq1,'showreference','off'); legend(hfvt,'44 coefficients floating-point',... '44 coefficients 14 bits','48 coefficients 11 bits');

constraincoeffwl | design | fdesign | maximizestopband | measure | rand