{"id":25174,"date":"2023-10-30T12:47:03","date_gmt":"2023-10-30T11:47:03","guid":{"rendered":"https:\/\/demdlx704as001.ad.harman.com\/?post_type=documentor-sections&#038;p=25174"},"modified":"2023-12-15T15:10:17","modified_gmt":"2023-12-15T14:10:17","slug":"fastconv-2","status":"publish","type":"post","link":"https:\/\/audioworx.transfunnel.co\/old\/?p=25174","title":{"rendered":"FastConv"},"content":{"rendered":"<p><span style=\"font-family: 'times new roman', times, serif;\">This FastConv (Fast Convolution) audio object implements an N-channel point to point\u00a0FIR\u00a0filter with a constant number of taps for all channels. This filter is optimal for higher order filters (&gt; 1000).<\/span><\/p>\n<p><span style=\"font-family: 'times new roman', times, serif;\">Coefficients are provided through GTT custom panel from pre-stored coefficient files in .csv format.<\/span><\/p>\n<ul>\n<li><span style=\"font-family: 'times new roman', times, serif;\">Coefficients can be different for each channel, but with same tap length.<\/span><\/li>\n<li><span style=\"font-family: 'times new roman', times, serif;\">Coefficients represent the impulse response of the filter in time domain.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-family: 'times new roman', times, serif;\">Without loaded coefficients, the filter functions as an all-pass filter passing the input signal as it is.<\/span><\/p>\n<p class=\"note\"><span style=\"font-family: 'times new roman', times, serif;\"><em>The FastConv audio object supports in-place computation based on the core type.<\/em><\/span><\/p>\n<p><span style=\"font-family: 'times new roman', times, serif;\"><em><strong>Use Case:<\/strong> The computational effort of a simple FIR filter in time domain increases linearly with the number of taps used.<br \/>\n<\/em><\/span><span style=\"font-family: 'times new roman', times, serif;\"><em>For complex wideband filtering, example low frequency filtering using room impulse responses &#8211; the number of used taps might easily reach few hundreds or thousands. As this number of FIR taps in time domain cannot be realized with reasonable computational effort, it makes sense to do convolution by multiplication in frequency domain \u2013 using the FFT.<br \/>\n<\/em><\/span><span style=\"font-family: 'times new roman', times, serif;\"><em>The trade-off for using fast convolution depends on the used platform and might be in the area of 32-64 taps.<br \/>\n<\/em><\/span><span style=\"font-family: 'times new roman', times, serif;\"><em>As this filter supports multiple channels \u2013 it can be used to adjust the sound to certain acoustics in a multichannel environment. The impulse response, i.e. the time domain coefficients can be different for each channel.<\/em><\/span><\/p>\n<p class=\"heading\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>FastConv Properties<\/strong><\/span><\/p>\n<p>Below table describes about the FastConv audio object properties and functionality.<\/p>\n<p><span style=\"font-family: 'times new roman', times, serif;\"><img fetchpriority=\"high\" decoding=\"async\" width=\"488\" height=\"388\" class=\"wp-image-25114\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2023\/08\/word-image-54.png\" \/><\/span><\/p>\n<table style=\"width: 72.5462%;\">\n<tbody>\n<tr>\n<td class=\"table-head\" style=\"width: 14.1228%;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Properties<\/strong><\/span><\/td>\n<td class=\"table-head\" style=\"width: 78.5376%;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Description<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 14.1228%;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong># of Channels<\/strong><\/span><\/td>\n<td style=\"width: 78.5376%;\"><span style=\"font-family: 'times new roman', times, serif;\">The object has a configurable number of channels. The number of audio inputs is always equal to the number of audio outputs.<\/span><\/p>\n<ul>\n<li><span style=\"font-family: 'times new roman', times, serif;\">Range: 1 to 255<\/span><\/li>\n<li><span style=\"font-family: 'times new roman', times, serif;\">By default, the number of channels is set to 1.<\/span><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 14.1228%;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Number of taps<\/strong><\/span><\/td>\n<td style=\"width: 78.5376%;\"><span style=\"font-family: 'times new roman', times, serif;\">The object has a configurable number of taps.<\/span><\/p>\n<ul>\n<li><span style=\"font-family: 'times new roman', times, serif;\">Range: 1 to 16384<\/span><\/li>\n<li><span style=\"font-family: 'times new roman', times, serif;\">By default, the number of channels is set to 1.<\/span><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 14.1228%;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Display Name<\/strong><\/span><\/td>\n<td style=\"width: 78.5376%;\"><span style=\"font-family: 'times new roman', times, serif;\">Display the name of the FastConv audio object in signal flow design. It can be changed based on the intended usage of the object.<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"heading\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Mode<\/strong><\/span><\/p>\n<p>There are no mode available for <span style=\"font-family: 'times new roman', times, serif;\">FastConv audio object<\/span>.<\/p>\n<p class=\"heading\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Additional Parameters<\/strong><\/span><\/p>\n<p>There are no additional parameters available for <span style=\"font-family: 'times new roman', times, serif;\">FastConv audio object<\/span>..<\/p>\n<p class=\"heading\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Tuning Parameters<\/strong><\/span><\/p>\n<p><span style=\"font-family: 'times new roman', times, serif;\">In the current init setup, the tuning filter coefficients consist of all pass or bypass. In the real-world setup, these will be replaced with actual filter coefficients calculated for the preferred vehicle environment.<\/span><\/p>\n<p><span style=\"font-family: 'times new roman', times, serif;\">There are two sets of tuneable parameters \u2013<\/span><\/p>\n<ul>\n<li><span style=\"font-family: 'times new roman', times, serif;\">Mode: Mode is a single variable<\/span><\/li>\n<li><span style=\"font-family: 'times new roman', times, serif;\">Coefficients: the number of coefficients depends on the tap-length value configured in GTT<\/span><\/li>\n<\/ul>\n<p><span style=\"font-family: 'times new roman', times, serif;\">Let Nc denote the number of coefficients (taps), Ni number of channels. All filter coefficients are stored using floating point format. The number of coefficients is rounded up to an integer power of 2, which allows for effective FFT radix-2 or radix-4 implementation. The filter coefficients are denoted by hi[k] where \u201cI\u201d is the filter\u2019s index ranging from 0 to Ni\u22121 and \u201ck\u201d is the coefficient index (k = 0\u2026Nc\u22121).<\/span><\/p>\n<table style=\"width: 84.1478%;\">\n<thead>\n<tr>\n<th class=\"table-head\" style=\"width: 10.2031%;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Sub-block ID<\/strong><\/span><\/th>\n<th class=\"table-head\" style=\"width: 11.6604%;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Name<\/strong><\/span><\/th>\n<th class=\"table-head\" style=\"width: 16.7788%;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Description<\/strong><\/span><\/th>\n<th class=\"table-head\" style=\"width: 7.93089%;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Offset<\/strong><\/span><\/th>\n<th class=\"table-head\" style=\"width: 9.4975%;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Type<\/strong><\/span><\/th>\n<th class=\"table-head\" style=\"width: 8.94838%;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Unit<\/strong><\/span><\/th>\n<th class=\"table-head\" style=\"width: 11.761%;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Range<\/strong><\/span><\/th>\n<th class=\"table-head\" style=\"width: 50.0585%;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Default<\/strong><\/span><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"width: 10.2031%;\"><span style=\"font-family: 'times new roman', times, serif;\">0<\/span><\/td>\n<td style=\"width: 11.6604%;\"><span style=\"font-family: 'times new roman', times, serif;\">mode [0]<\/span><\/td>\n<td style=\"width: 16.7788%;\"><span style=\"font-family: 'times new roman', times, serif;\">Mode for filter 0<\/span><\/td>\n<td style=\"width: 7.93089%;\"><span style=\"font-family: 'times new roman', times, serif;\">0<\/span><\/td>\n<td style=\"width: 9.4975%;\"><span style=\"font-family: 'times new roman', times, serif;\">UInt32<\/span><\/td>\n<td style=\"width: 8.94838%;\"><span style=\"font-family: 'times new roman', times, serif;\">None<\/span><\/td>\n<td style=\"width: 11.761%;\"><span style=\"font-family: 'times new roman', times, serif;\">0,1,2<\/span><\/td>\n<td style=\"width: 50.0585%;\"><span style=\"font-family: 'times new roman', times, serif;\">0<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 10.2031%;\"><span style=\"font-family: 'times new roman', times, serif;\">0<\/span><\/td>\n<td style=\"width: 11.6604%;\"><\/td>\n<td style=\"width: 16.7788%;\"><span style=\"font-family: 'times new roman', times, serif;\">Coefficients for filter 0<\/span><\/td>\n<td style=\"width: 7.93089%;\"><span style=\"font-family: 'times new roman', times, serif;\">4<\/span><\/td>\n<td style=\"width: 9.4975%;\"><span style=\"font-family: 'times new roman', times, serif;\">float<\/span><\/td>\n<td style=\"width: 8.94838%;\"><span style=\"font-family: 'times new roman', times, serif;\">None<\/span><\/td>\n<td style=\"width: 11.761%;\"><span style=\"font-family: 'times new roman', times, serif;\">-1.0f; +1.0f<\/span><\/td>\n<td style=\"width: 50.0585%;\"><span style=\"font-family: 'times new roman', times, serif;\">1.0f<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 10.2031%;\"><span style=\"font-family: 'times new roman', times, serif;\">0<\/span><\/td>\n<td style=\"width: 11.6604%;\"><\/td>\n<td style=\"width: 16.7788%;\"><span style=\"font-family: 'times new roman', times, serif;\">Coefficients for filter 0<\/span><\/td>\n<td style=\"width: 7.93089%;\"><span style=\"font-family: 'times new roman', times, serif;\">8<\/span><\/td>\n<td style=\"width: 9.4975%;\"><span style=\"font-family: 'times new roman', times, serif;\">float<\/span><\/td>\n<td style=\"width: 8.94838%;\"><span style=\"font-family: 'times new roman', times, serif;\">None<\/span><\/td>\n<td style=\"width: 11.761%;\"><span style=\"font-family: 'times new roman', times, serif;\">-1.0f; +1.0f<\/span><\/td>\n<td style=\"width: 50.0585%;\"><span style=\"font-family: 'times new roman', times, serif;\">0.0f<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 10.2031%;\"><span style=\"font-family: 'times new roman', times, serif;\">0<\/span><\/td>\n<td style=\"width: 11.6604%;\"><\/td>\n<td style=\"width: 16.7788%;\"><span style=\"font-family: 'times new roman', times, serif;\">Coefficients for filter 0<\/span><\/td>\n<td style=\"width: 7.93089%;\"><\/td>\n<td style=\"width: 9.4975%;\"><span style=\"font-family: 'times new roman', times, serif;\">float<\/span><\/td>\n<td style=\"width: 8.94838%;\"><span style=\"font-family: 'times new roman', times, serif;\">None<\/span><\/td>\n<td style=\"width: 11.761%;\"><span style=\"font-family: 'times new roman', times, serif;\">-1.0f; +1.0f<\/span><\/td>\n<td style=\"width: 50.0585%;\"><span style=\"font-family: 'times new roman', times, serif;\">0.0f<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 10.2031%;\"><span style=\"font-family: 'times new roman', times, serif;\">0<\/span><\/td>\n<td style=\"width: 11.6604%;\"><\/td>\n<td style=\"width: 16.7788%;\"><span style=\"font-family: 'times new roman', times, serif;\">Coefficients for filter 0<\/span><\/td>\n<td style=\"width: 7.93089%;\"><span style=\"font-family: 'times new roman', times, serif;\">+ 4<\/span><\/td>\n<td style=\"width: 9.4975%;\"><span style=\"font-family: 'times new roman', times, serif;\">float<\/span><\/td>\n<td style=\"width: 8.94838%;\"><span style=\"font-family: 'times new roman', times, serif;\">None<\/span><\/td>\n<td style=\"width: 11.761%;\"><span style=\"font-family: 'times new roman', times, serif;\">-1.0f; +1.0f<\/span><\/td>\n<td style=\"width: 50.0585%;\"><span style=\"font-family: 'times new roman', times, serif;\">0.0f<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 10.2031%;\"><span style=\"font-family: 'times new roman', times, serif;\">1<\/span><\/td>\n<td style=\"width: 11.6604%;\"><span style=\"font-family: 'times new roman', times, serif;\">mode [1]<\/span><\/td>\n<td style=\"width: 16.7788%;\"><span style=\"font-family: 'times new roman', times, serif;\">Mode for filter 1<\/span><\/td>\n<td style=\"width: 7.93089%;\"><span style=\"font-family: 'times new roman', times, serif;\">+ 4<\/span><\/td>\n<td style=\"width: 9.4975%;\"><span style=\"font-family: 'times new roman', times, serif;\">UInt32<\/span><\/td>\n<td style=\"width: 8.94838%;\"><span style=\"font-family: 'times new roman', times, serif;\">None<\/span><\/td>\n<td style=\"width: 11.761%;\"><span style=\"font-family: 'times new roman', times, serif;\">0,1,2<\/span><\/td>\n<td style=\"width: 50.0585%;\"><span style=\"font-family: 'times new roman', times, serif;\">0<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 10.2031%;\"><span style=\"font-family: 'times new roman', times, serif;\">1<\/span><\/td>\n<td style=\"width: 11.6604%;\"><\/td>\n<td style=\"width: 16.7788%;\"><span style=\"font-family: 'times new roman', times, serif;\">Coefficients for filter 1<\/span><\/td>\n<td style=\"width: 7.93089%;\"><span style=\"font-family: 'times new roman', times, serif;\">+ 8<\/span><\/td>\n<td style=\"width: 9.4975%;\"><span style=\"font-family: 'times new roman', times, serif;\">float<\/span><\/td>\n<td style=\"width: 8.94838%;\"><span style=\"font-family: 'times new roman', times, serif;\">None<\/span><\/td>\n<td style=\"width: 11.761%;\"><span style=\"font-family: 'times new roman', times, serif;\">-1.0f; +1.0f<\/span><\/td>\n<td style=\"width: 50.0585%;\"><span style=\"font-family: 'times new roman', times, serif;\">1.0f<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 10.2031%;\"><span style=\"font-family: 'times new roman', times, serif;\">1<\/span><\/td>\n<td style=\"width: 11.6604%;\"><\/td>\n<td style=\"width: 16.7788%;\"><span style=\"font-family: 'times new roman', times, serif;\">Coefficients for filter 1<\/span><\/td>\n<td style=\"width: 7.93089%;\"><span style=\"font-family: 'times new roman', times, serif;\">+ 8<\/span><\/td>\n<td style=\"width: 9.4975%;\"><span style=\"font-family: 'times new roman', times, serif;\">float<\/span><\/td>\n<td style=\"width: 8.94838%;\"><span style=\"font-family: 'times new roman', times, serif;\">None<\/span><\/td>\n<td style=\"width: 11.761%;\"><span style=\"font-family: 'times new roman', times, serif;\">-1.0f; +1.0f<\/span><\/td>\n<td style=\"width: 50.0585%;\"><span style=\"font-family: 'times new roman', times, serif;\">0.0f<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 10.2031%;\"><span style=\"font-family: 'times new roman', times, serif;\">1<\/span><\/td>\n<td style=\"width: 11.6604%;\"><\/td>\n<td style=\"width: 16.7788%;\"><span style=\"font-family: 'times new roman', times, serif;\">Coefficients for filter 1<\/span><\/td>\n<td style=\"width: 7.93089%;\"><\/td>\n<td style=\"width: 9.4975%;\"><span style=\"font-family: 'times new roman', times, serif;\">float<\/span><\/td>\n<td style=\"width: 8.94838%;\"><span style=\"font-family: 'times new roman', times, serif;\">None<\/span><\/td>\n<td style=\"width: 11.761%;\"><span style=\"font-family: 'times new roman', times, serif;\">-1.0f; +1.0f<\/span><\/td>\n<td style=\"width: 50.0585%;\"><span style=\"font-family: 'times new roman', times, serif;\">0.0f<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 10.2031%;\"><span style=\"font-family: 'times new roman', times, serif;\">1<\/span><\/td>\n<td style=\"width: 11.6604%;\"><\/td>\n<td style=\"width: 16.7788%;\"><span style=\"font-family: 'times new roman', times, serif;\">Coefficients for filter 1<\/span><\/td>\n<td style=\"width: 7.93089%;\"><span style=\"font-family: 'times new roman', times, serif;\">+ 12<\/span><\/td>\n<td style=\"width: 9.4975%;\"><span style=\"font-family: 'times new roman', times, serif;\">float<\/span><\/td>\n<td style=\"width: 8.94838%;\"><span style=\"font-family: 'times new roman', times, serif;\">None<\/span><\/td>\n<td style=\"width: 11.761%;\"><span style=\"font-family: 'times new roman', times, serif;\">-1.0f; +1.0f<\/span><\/td>\n<td style=\"width: 50.0585%;\"><span style=\"font-family: 'times new roman', times, serif;\">0.0f<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 10.2031%;\"><span style=\"font-family: 'times new roman', times, serif;\">Ni-1<\/span><\/td>\n<td style=\"width: 11.6604%;\"><span style=\"font-family: 'times new roman', times, serif;\">mode [Ni-1]<\/span><\/td>\n<td style=\"width: 16.7788%;\"><span style=\"font-family: 'times new roman', times, serif;\">Mode for filter Ni-1<\/span><\/td>\n<td style=\"width: 7.93089%;\"><span style=\"font-family: 'times new roman', times, serif;\">+<\/span><\/td>\n<td style=\"width: 9.4975%;\"><span style=\"font-family: 'times new roman', times, serif;\">UInt32<\/span><\/td>\n<td style=\"width: 8.94838%;\"><span style=\"font-family: 'times new roman', times, serif;\">None<\/span><\/td>\n<td style=\"width: 11.761%;\"><span style=\"font-family: 'times new roman', times, serif;\">0,1,2<\/span><\/td>\n<td style=\"width: 50.0585%;\"><span style=\"font-family: 'times new roman', times, serif;\">0<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 10.2031%;\"><span style=\"font-family: 'times new roman', times, serif;\">Ni-1<\/span><\/td>\n<td style=\"width: 11.6604%;\"><\/td>\n<td style=\"width: 16.7788%;\"><span style=\"font-family: 'times new roman', times, serif;\">Coefficients for filter<\/span><\/td>\n<td style=\"width: 7.93089%;\"><span style=\"font-family: 'times new roman', times, serif;\">+<\/span><\/td>\n<td style=\"width: 9.4975%;\"><span style=\"font-family: 'times new roman', times, serif;\">float<\/span><\/td>\n<td style=\"width: 8.94838%;\"><span style=\"font-family: 'times new roman', times, serif;\">None<\/span><\/td>\n<td style=\"width: 11.761%;\"><span style=\"font-family: 'times new roman', times, serif;\">-1.0f; +1.0f<\/span><\/td>\n<td style=\"width: 50.0585%;\"><span style=\"font-family: 'times new roman', times, serif;\">1.0f<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 10.2031%;\"><span style=\"font-family: 'times new roman', times, serif;\">Ni-1<\/span><\/td>\n<td style=\"width: 11.6604%;\"><\/td>\n<td style=\"width: 16.7788%;\"><span style=\"font-family: 'times new roman', times, serif;\">Coefficients for filter<\/span><\/td>\n<td style=\"width: 7.93089%;\"><\/td>\n<td style=\"width: 9.4975%;\"><span style=\"font-family: 'times new roman', times, serif;\">float<\/span><\/td>\n<td style=\"width: 8.94838%;\"><span style=\"font-family: 'times new roman', times, serif;\">None<\/span><\/td>\n<td style=\"width: 11.761%;\"><span style=\"font-family: 'times new roman', times, serif;\">-1.0f; +1.0f<\/span><\/td>\n<td style=\"width: 50.0585%;\"><span style=\"font-family: 'times new roman', times, serif;\">0.0f<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 10.2031%;\"><span style=\"font-family: 'times new roman', times, serif;\">Ni-1<\/span><\/td>\n<td style=\"width: 11.6604%;\"><\/td>\n<td style=\"width: 16.7788%;\"><span style=\"font-family: 'times new roman', times, serif;\">Coefficients for filter<\/span><\/td>\n<td style=\"width: 7.93089%;\"><\/td>\n<td style=\"width: 9.4975%;\"><span style=\"font-family: 'times new roman', times, serif;\">float<\/span><\/td>\n<td style=\"width: 8.94838%;\"><span style=\"font-family: 'times new roman', times, serif;\">None<\/span><\/td>\n<td style=\"width: 11.761%;\"><span style=\"font-family: 'times new roman', times, serif;\">-1.0f; +1.0f<\/span><\/td>\n<td style=\"width: 50.0585%;\"><span style=\"font-family: 'times new roman', times, serif;\">0.0f<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 10.2031%;\"><span style=\"font-family: 'times new roman', times, serif;\">Ni-1<\/span><\/td>\n<td style=\"width: 11.6604%;\"><\/td>\n<td style=\"width: 16.7788%;\"><span style=\"font-family: 'times new roman', times, serif;\">Coefficients for filter<\/span><\/td>\n<td style=\"width: 7.93089%;\"><span style=\"font-family: 'times new roman', times, serif;\">+<\/span><\/td>\n<td style=\"width: 9.4975%;\"><span style=\"font-family: 'times new roman', times, serif;\">float<\/span><\/td>\n<td style=\"width: 8.94838%;\"><span style=\"font-family: 'times new roman', times, serif;\">None<\/span><\/td>\n<td style=\"width: 11.761%;\"><span style=\"font-family: 'times new roman', times, serif;\">-1.0f; +1.0f<\/span><\/td>\n<td style=\"width: 50.0585%;\"><span style=\"font-family: 'times new roman', times, serif;\">0.0f<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-family: 'times new roman', times, serif;\">The pre-computed FIR filter time domain coefficients need to be stored in a file in .csv format.<\/span><\/p>\n<p><span style=\"font-family: 'times new roman', times, serif;\">GTT has the provision to import the coefficients from the file for the selected channel and pass them to the device. During tuning phase, these time domain filter coefficients are converted to frequency spectrum coefficients for multiplication with the spectrum of the input.<\/span><\/p>\n<p><span style=\"font-family: 'times new roman', times, serif;\">The generalized offset information of the two tuneable parameters can be found below table.<\/span><\/p>\n<p><span style=\"font-family: 'times new roman', times, serif;\"><strong>FastConv Tuneable Parameters<\/strong><\/span><\/p>\n<table style=\"width: 87.3888%;\">\n<tbody>\n<tr>\n<td class=\"table-head\" style=\"width: 10.3461%;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Sub-block ID<\/strong><\/span><\/td>\n<td class=\"table-head\" style=\"width: 9.19228%;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Name<\/strong><\/span><\/td>\n<td class=\"table-head\" style=\"width: 19.1025%;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Description<\/strong><\/span><\/td>\n<td class=\"table-head\" style=\"width: 8.67949%;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Offset<\/strong><\/span><\/td>\n<td class=\"table-head\" style=\"width: 9.34618%;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Type<\/strong><\/span><\/td>\n<td class=\"table-head\" style=\"width: 7.79488%;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Unit<\/strong><\/span><\/td>\n<td class=\"table-head\" style=\"width: 11.5384%;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Range<\/strong><\/span><\/td>\n<td class=\"table-head\" style=\"width: 49.7119%;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Default<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 10.3461%;\"><span style=\"font-family: 'times new roman', times, serif;\">i<\/span><\/td>\n<td style=\"width: 9.19228%;\"><span style=\"font-family: 'times new roman', times, serif;\">mode[i]<\/span><\/td>\n<td style=\"width: 19.1025%;\"><span style=\"font-family: 'times new roman', times, serif;\">Mode for filter i<\/span><\/td>\n<td style=\"width: 8.67949%;\"><\/td>\n<td style=\"width: 9.34618%;\"><span style=\"font-family: 'times new roman', times, serif;\">UInt32<\/span><\/td>\n<td style=\"width: 7.79488%;\"><span style=\"font-family: 'times new roman', times, serif;\">&#8211;<\/span><\/td>\n<td style=\"width: 11.5384%;\"><span style=\"font-family: 'times new roman', times, serif;\">0,1,2<\/span><\/td>\n<td style=\"width: 49.7119%;\"><span style=\"font-family: 'times new roman', times, serif;\">0<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 10.3461%;\"><span style=\"font-family: 'times new roman', times, serif;\">i<\/span><\/td>\n<td style=\"width: 9.19228%;\"><\/td>\n<td style=\"width: 19.1025%;\"><span style=\"font-family: 'times new roman', times, serif;\">Coefficient k=0 for filter i<\/span><\/td>\n<td style=\"width: 8.67949%;\"><\/td>\n<td style=\"width: 9.34618%;\"><span style=\"font-family: 'times new roman', times, serif;\">float<\/span><\/td>\n<td style=\"width: 7.79488%;\"><span style=\"font-family: 'times new roman', times, serif;\">&#8211;<\/span><\/td>\n<td style=\"width: 11.5384%;\"><span style=\"font-family: 'times new roman', times, serif;\">-1.0f; +1.0f<\/span><\/td>\n<td style=\"width: 49.7119%;\"><span style=\"font-family: 'times new roman', times, serif;\">1.0f<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 10.3461%;\"><span style=\"font-family: 'times new roman', times, serif;\">i<\/span><\/td>\n<td style=\"width: 9.19228%;\"><\/td>\n<td style=\"width: 19.1025%;\"><span style=\"font-family: 'times new roman', times, serif;\">Coefficient k&gt;0 for filter i<\/span><\/td>\n<td style=\"width: 8.67949%;\"><\/td>\n<td style=\"width: 9.34618%;\"><span style=\"font-family: 'times new roman', times, serif;\">float<\/span><\/td>\n<td style=\"width: 7.79488%;\"><span style=\"font-family: 'times new roman', times, serif;\">&#8211;<\/span><\/td>\n<td style=\"width: 11.5384%;\"><span style=\"font-family: 'times new roman', times, serif;\">-1.0f; +1.0f<\/span><\/td>\n<td style=\"width: 49.7119%;\"><span style=\"font-family: 'times new roman', times, serif;\">0.0f<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-family: 'times new roman', times, serif;\">FastConv operational mode (Normal \/ Bypass \/ Mute) can be controlled (as tuning parameters) from GTT panel. The description of each mode is given in the table below.<\/span><\/p>\n<p><span style=\"font-family: 'times new roman', times, serif;\"><strong>FastConv Mode Details<\/strong><\/span><\/p>\n<table style=\"width: 64.9075%; height: 88px;\">\n<tbody>\n<tr style=\"height: 10px;\">\n<td class=\"table-head\" style=\"width: 17.4781%; height: 10px;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Mode Value<\/strong><\/span><\/td>\n<td class=\"table-head\" style=\"width: 27.6374%; height: 10px;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Mode Tag<\/strong><\/span><\/td>\n<td class=\"table-head\" style=\"width: 129.849%; height: 10px;\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Description<\/strong><\/span><\/td>\n<\/tr>\n<tr style=\"height: 26px;\">\n<td style=\"width: 17.4781%; height: 26px;\"><span style=\"font-family: 'times new roman', times, serif;\">0<\/span><\/td>\n<td style=\"width: 27.6374%; height: 26px;\"><span style=\"font-family: 'times new roman', times, serif;\">NORMAL<\/span><\/td>\n<td style=\"width: 129.849%; height: 26px;\"><span style=\"font-family: 'times new roman', times, serif;\">Filter operation under use<\/span><\/td>\n<\/tr>\n<tr style=\"height: 26px;\">\n<td style=\"width: 17.4781%; height: 26px;\"><span style=\"font-family: 'times new roman', times, serif;\">1<\/span><\/td>\n<td style=\"width: 27.6374%; height: 26px;\"><span style=\"font-family: 'times new roman', times, serif;\">BYPASS<\/span><\/td>\n<td style=\"width: 129.849%; height: 26px;\"><span style=\"font-family: 'times new roman', times, serif;\">Input buffer copied to output buffer<\/span><\/td>\n<\/tr>\n<tr style=\"height: 26px;\">\n<td style=\"width: 17.4781%; height: 26px;\"><span style=\"font-family: 'times new roman', times, serif;\">2<\/span><\/td>\n<td style=\"width: 27.6374%; height: 26px;\"><span style=\"font-family: 'times new roman', times, serif;\">OFF<\/span><\/td>\n<td style=\"width: 129.849%; height: 26px;\"><span style=\"font-family: 'times new roman', times, serif;\">Output buffer set to zero<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"heading\"><span style=\"font-family: 'times new roman', times, serif;\"><strong>Control Parameters<\/strong><\/span><\/p>\n<p>There are no control parameters available for <span style=\"font-family: 'times new roman', times, serif;\">FastConv audio object<\/span>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This FastConv (Fast Convolution) audio object implements an N-channel point to point\u00a0FIR\u00a0filter with a constant number of taps for all channels. This filter is optimal for higher order filters (&gt; 1000). Coefficients are provided through GTT custom panel from pre-stored coefficient files in .csv format. Coefficients can be different for each channel, but with same [&hellip;]<\/p>\n","protected":false},"author":107,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"0","ocean_second_sidebar":"0","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"0","ocean_custom_header_template":"0","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"0","ocean_menu_typo_font_family":"0","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"0","footnotes":"","ocean_post_oembed":"","ocean_post_self_hosted_media":"","ocean_post_video_embed":"","ocean_link_format":"","ocean_link_format_target":"self","ocean_quote_format":"","ocean_quote_format_link":"post","ocean_gallery_link_images":"on","ocean_gallery_id":[]},"categories":[315],"tags":[],"coauthors":[292],"_links":{"self":[{"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts\/25174"}],"collection":[{"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/users\/107"}],"replies":[{"embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=25174"}],"version-history":[{"count":10,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts\/25174\/revisions"}],"predecessor-version":[{"id":26562,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts\/25174\/revisions\/26562"}],"wp:attachment":[{"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=25174"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25174"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25174"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fcoauthors&post=25174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}