Most recent fixed-point filtering operation report
rlog = qreport(h)
rlog = qreport(h) returns the logging report stored in the filter object h in the object rlog. The ability to log features of the filtering operation is integrated in the fixed-point filter object and the filter method.
Each time you filter a signal with h, new log data overwrites the results in the filter from the previous filtering operation. To save the log from a filtering simulation, change the name of the output argument for the operation before subsequent filtering runs.
Note qreport requires Fixed-Point Designer™ software and that filter h is a fixed-point filter. Data logging for fi operations is a preference you set for each MATLAB session. To learn more about logging, LoggingMode, and fi object preferences, refer to fipref in the Fixed-Point Designer documentation.
Also, you cannot use qreport to log the filtering operations from a fixed-point Farrow filter.
Enable logging during filtering by setting LoggingMode to on for fi objects for your MATLAB session. Trigger logging by setting the Arithmetic property for h to fixed, making h a fixed-point filter and filtering an input signal.
Filter operation logging with qreport requires some preparation in MATLAB. Complete these steps before you use qreport.
qreport provides a way to instrument your fixed-point filters and the resulting data log offers insight into how the filter responds to a particular input data signal.
Report object rlog contains a filter-structure-specific list of internal signals for the filter. Each signal contains
Minimum and maximum values that were recorded during the last simulation. Minimum and maximum values correspond to values before quantization.
Representable numerical range of the word length and fraction length format
Number of overflows during filtering for that signal.
qreport depends on the LoggingMode preference for fixed-point objects. This example demonstrates the process for enabling and using qreport to log the results of filtering with a fixed-point filter. hd is a fixed-point direct-form FIR filter.
f = fipref('loggingmode','on'); hd = design(fdesign.lowpass,'equiripple'); hd.arithmetic = 'fixed'; fs = 1000; % Input sampling frequency. t = 0:1/fs:1.5; % Signal length = 1501 samples. x = sin(2*pi*10*t); % Amplitude = 1 sinusoid. y = filter(hd,x); rlog = qreport(hd)
View the logging report of a direct-form II, second-order sections IIR filter the same way. While this example sets loggingmode to on, you do that only once for a MATLAB session, unless you reset the mode to off during the session.
fipref('loggingmode','on'); hd = design(fdesign.lowpass,'ellip'); hd.arithmetic = 'fixed'; y = filter(hd,rand(100,1)); rlog = qreport(hd)