M. Nagahara and Y. Yamamoto,
Frequency-Domain Min-Max Optimization of Noise-Shaping Delta-Sigma Modulators,
IEEE Transactions on Signal Processing, 2012.
(Download PDF)
See also our related paper:
M. Nagahara,
Min-max design of FIR digital filters by semidefinite programming,
Applications of Digital Signal Processing, pp. 193-210,
InTech, Nov. 2011. (Download PDF)
[ntf,R]=NTF_MINMAX(order,OSR,Hinf,f0,zf)order:order=32.OSR:OSR=32.Hinf:Hinf=1.5.f0:f0 must be in [0,1/2).
The center frequency will be 2*pi*f0 (rad/sec). The default value is f0=0.zf:zf is 0, then
the design is executed without zero assignment.
Otherwise, zeros of the NTF to be optimized is assigned at the center frequency.
The default value is zf=0.ntf:R:
[ntf,R]=NTF_MINMAX_MB(order,OSR,Hinf,f,zf)
Arguments
order:
The order of NTF which is an FIR filter. The default value is order=32.
OSR:
The over sampling ratio. The default value is OSR=32.
Hinf:
The maximum out-of-band gain of NTF. The default value is Hinf=1.5.
f:
The vector of normalized center frequencies of the modulator.
The elements of f must be in [0,1/2).
The length of f must be less than 4.
The center frequencies will be 2*pi*f(i) (rad/sec).
The default vector is f=[0,1/4].
zf:
The flag for assigning NTF zeros. If zf is 0, then
the design is executed without zero assignment.
Otherwise, zeros of the NTF to be optimized is assigned at the center frequencies.
The default value is zf=0.
Outputs
ntf:
The optimized NTF given as a zpk object.
R:
FIR filter coefficients of the optimized loop filter R(z).
m=2; % The number of cascades
order=32;
OSR=32;
Hinf=1.5^(1/m);
f0=0;
zf=0;
[ntfm,R]=NTF_MINMAX(order,OSR,Hinf,f0,zf);
ntf=ntfm^m;
figure;bode(ntf); %Bode plot of NTF
order=32;
OSR=16;
Hinf=1.5;
f0=1/4;
zf=1;
[ntf,R]=NTF_MINMAX(order,OSR,Hinf,f0,zf);
figure;bode(ntf); %Bode plot of NTF
order=32;
OSR=64;
Hinf=1.5;
f=[1/8,1/4,3/8];
zf=1;
[ntf,R]=NTF_MINMAX(order,OSR,Hinf,f,zf);
figure;bode(ntf); %Bode plot of NTF