{"id":4320,"date":"2019-06-14T01:33:50","date_gmt":"2019-06-13T23:33:50","guid":{"rendered":"https:\/\/demdlx704as001.ad.harman.com\/?p=4320"},"modified":"2024-07-02T13:54:51","modified_gmt":"2024-07-02T11:54:51","slug":"dirac-unison","status":"publish","type":"post","link":"https:\/\/audioworx.transfunnel.co\/old\/?p=4320","title":{"rendered":"FIR MIMO"},"content":{"rendered":"<p class=\"text\"><span style=\"font-size: 12pt;\">FIR MIMO is a group of FIR filter banks associated with each input and output. They produce the preferred output signal to the speakers inside a vehicle based on the input signals and the vehicle\u2019s interior design. FIR MIMO can be used for clever impulse and frequency optimization or applications such as individual sound zones.<\/span><\/p>\n<p class=\"heading\"><strong>FIRA MIMO Properties<\/strong><\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone size-full wp-image-24657\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2019\/06\/FIRMIMO_01.png\" alt=\"\" width=\"438\" height=\"481\" \/><\/p>\n<table style=\"border-collapse: collapse; width: 100%;\" border=\"1\">\n<tbody>\n<tr>\n<td class=\"table-head\" style=\"width: 18.7907%;\"><strong>Properties<\/strong><\/td>\n<td class=\"table-head\" style=\"width: 81.2093%;\"><strong><span style=\"font-size: 12pt;\">Description<\/span><\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 18.7907%;\"><strong># of Audio In<\/strong><\/td>\n<td style=\"width: 81.2093%;\">\n<p><span style=\"font-size: 12pt;\">Enter the input value.<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">Range: 1 to 20<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">The default value is set to 4.<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 18.7907%;\"><strong># of Audio Out<\/strong><\/td>\n<td style=\"width: 81.2093%;\">\n<p><span style=\"font-size: 12pt;\">Enter the output value.<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">Range: 1 to 64<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">The default value is set to 4.<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 18.7907%;\"><strong>Number of taps for Hi filters<\/strong><\/td>\n<td style=\"width: 81.2093%;\">\n<p><span style=\"font-size: 12pt;\">The number of filter coefficients (taps) for the high rate path is configured using the m_NumElements. All channels in the high rate path use the same number of taps.<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">Range: 384 to 4096<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">The default value is set to 384.<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 18.7907%;\"><strong>Display Name<\/strong><\/td>\n<td style=\"width: 81.2093%;\"><span style=\"font-size: 12pt;\">Display name of the FIRMIMO\u00a0 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\"><strong>Mode<\/strong><\/p>\n<p>The FIR MIMO audio object supports two modes of operation.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-24658\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2019\/06\/FIRMIMO_02.png\" alt=\"\" width=\"352\" height=\"105\" \/><\/p>\n<ul>\n<li>Dual Rate mode<\/li>\n<li>ISZ mode<\/li>\n<\/ul>\n<p><strong>Dual Rate mode: <\/strong>In the GTT interface, you can select the number of filter taps and filter combinations. The default (and minimum) number of taps for the high rate filters is set to 384.<\/p>\n<p><strong>ISZ mode: <\/strong>In the ISZ mode, the object acts as a single rate (high rate) FIR MIMO object for accomplishing ISZ (Individual Sound Zones). For ISZ, the low rate path of FIR MIMO block is disabled, and the high rate path delay is fixed to zero.<br \/>\nIn addition, all the filter combinations are active by default for ISZ mode. You do not need to individually configure the additional configuration matrix to set the filter in each combination. Even though the m_AdditionalConfig parameters do not indicate that all the filters are active, the active filters can be viewed when we open the tuning panel for this object.<\/p>\n<p>The filter tap length should is fixed to 4096 only. This size must be fixed by you each time you switch to ISZ mode. This will be changed in future; where filter taps will be directly fixed by GTT when ISZ mode is selected. \u00a0The max delay for hi rate filters will also be set to 0 only.<\/p>\n<p>These filters are designed using a highly specialized tuning algorithm, known as MFxLMS (Multiple Filtered Input Signal Least Mean square). Several constraints such as pre-ringing and post-ringing, frequency and phase constraints are applied to allow the CTC filter networks to be realizable with FIR taps to provide the desired response.<\/p>\n<p>There are two stages in the ISZ algorithm:<\/p>\n<ul>\n<li>Design:\u00a0At design time, the transfer function between each individual speaker and a microphone array placed at the listener\u2019s head (i.e. for each zone) is measured. These transfer functions are used to feed the MFxLMS algorithm, which runs and simulates audio throughput until an optimal solution is found to generate the desired zone isolation.<\/li>\n<li>Playback:\u00a0 The resulting FIR coefficients calculated by the MFxLMS process are then applied to the playback algorithm, which is the MIMO system formed by high rate path of FIR MIMO. All speakers are always contributing to each path; i.e. every speaker is used at all times to achieve the ISZ effect regardless of which zones are bright or dark.<\/li>\n<\/ul>\n<p class=\"heading\"><strong>Additional Parameters<\/strong><\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-24662\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2019\/06\/FIRMIMO_03.png\" alt=\"\" width=\"289\" height=\"251\" \/><\/p>\n<p>Below table describes the FIR MIMO additional parameters.<\/p>\n<table style=\"border-collapse: collapse; width: 100%;\" border=\"1\">\n<tbody>\n<tr>\n<td class=\"table-head\" style=\"width: 16.2201%;\"><strong>Parameter<\/strong><\/td>\n<td class=\"table-head\" style=\"width: 83.7799%;\" colspan=\"2\"><strong>Description<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 16.2201%;\"><strong>Max delay for high-rate filters<\/strong><\/td>\n<td style=\"width: 57.2049%;\">\n<p><span style=\"font-size: 12pt;\">Length of delay line for high-rate path.<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">Range: 0 to 2048<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">Default: 0<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">Data Type: uint32_t<\/span><\/td>\n<td style=\"width: 26.575%;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-24622\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2022\/12\/FIRAMIMO_02.png\" alt=\"\" width=\"258\" height=\"377\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 16.2201%;\"><strong>Taps for low-rate filters<\/strong><\/td>\n<td style=\"width: 57.2049%;\">\n<p><span style=\"font-size: 12pt;\">Number of taps for low-rate filters. All channels in the low rate path use the same number of taps which can be different from high rate.<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">Range: 512 to 2048<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">Default: 512<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">Data Type: uint32_t<\/span><\/td>\n<td style=\"width: 26.575%;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-24624\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2022\/12\/FIRAMIMO_03.png\" alt=\"\" width=\"260\" height=\"359\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 16.2201%;\"><strong>Coefficient format<\/strong><\/td>\n<td style=\"width: 57.2049%;\"><span style=\"font-size: 12pt;\">Filter coefficient data format.<\/span><\/p>\n<ul>\n<li><span style=\"font-size: 12pt;\">0: 32-bit floating point coefficients<\/span><\/li>\n<li><span style=\"font-size: 12pt;\">1: IEEE 16-bit floating point coefficients<\/span><\/li>\n<li><span style=\"font-size: 12pt;\">2: 16-bit fixed point coefficients<\/span><\/li>\n<\/ul>\n<p><span style=\"font-size: 12pt;\">Range: 0 to 2<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">Default: 0<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">Data Type: uint8_t<\/span><\/td>\n<td style=\"width: 26.575%;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-24628\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2022\/12\/FIRAMIMO_04.png\" alt=\"\" width=\"250\" height=\"351\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 16.2201%;\"><strong>Conf matrix high<\/strong><\/td>\n<td style=\"width: 57.2049%;\"><span style=\"font-size: 12pt;\">Configuration matrix for high rate filters.<\/span><\/p>\n<ul>\n<li><span style=\"font-size: 12pt;\">Dimension 1: Input of size 20 or number of input channels in SFD whichever is less.<\/span><\/li>\n<li><span style=\"font-size: 12pt;\">Dimension 2: Output of size 64 or number of output channels in SFD whichever is less.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-size: 12pt;\">Value:<\/span><\/p>\n<ul>\n<li><span style=\"font-size: 12pt;\">\u00a0 0: FIR not present<\/span><\/li>\n<li><span style=\"font-size: 12pt;\">\u00a0 1: FIR present<\/span><\/li>\n<\/ul>\n<p><span style=\"font-size: 12pt;\">Range: 0 to 1<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">Default: 0<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">Data Type: uint8_t<\/span><\/td>\n<td style=\"width: 26.575%;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-24636\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2022\/12\/FIRAMIMO_06.png\" alt=\"\" width=\"331\" height=\"227\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 16.2201%;\"><strong>Conf matrix low<\/strong><\/td>\n<td style=\"width: 57.2049%;\"><span style=\"font-size: 12pt;\">Configuration matrix for low rate filters.<\/span><\/p>\n<ul>\n<li><span style=\"font-size: 12pt;\">\u00a0\u00a0\u00a0 Dimension 1: Input of size 20 or number of input channels in SFD whichever is less.<\/span><\/li>\n<li><span style=\"font-size: 12pt;\">\u00a0\u00a0\u00a0 Dimension 2: Output of size 64 or number of output channels in SFD whichever is less.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-size: 12pt;\">Value:<\/span><\/p>\n<ul>\n<li><span style=\"font-size: 12pt;\">\u00a0 0: FIR not present<\/span><\/li>\n<li><span style=\"font-size: 12pt;\">\u00a0 1: FIR present<\/span><\/li>\n<\/ul>\n<p><span style=\"font-size: 12pt;\">Range: 0 to 1<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">Default: 0<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">Data Type: uint8_t<\/span><\/td>\n<td style=\"width: 26.575%;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-24639\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2022\/12\/FIRAMIMO_07.png\" alt=\"\" width=\"337\" height=\"242\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"heading\"><strong>Tuning Parameters<\/strong><\/p>\n<p class=\"text\"><span style=\"font-size: 12pt;\">For each filter combination in FIR MIMO, this object exposes these two tuning parameters to the GTT:<\/span><\/p>\n<ul class=\"bullet-points\">\n<li><span style=\"font-size: 12pt;\">\u00a0<strong>Mode <\/strong>\u2013 The parameter is of the category &#8220;State&#8221; and therefore, the configurations done for Filter modes will be transferred to device only after device is connected. The mode of each filter can be set to:<\/span>\n<ul class=\"bullet-points\">\n<li><span style=\"font-size: 12pt;\">Active<\/span><\/li>\n<li><span style=\"font-size: 12pt;\">Bypass<\/span><\/li>\n<li><span style=\"font-size: 12pt;\">Off<\/span><\/li>\n<\/ul>\n<\/li>\n<li><span style=\"font-size: 12pt;\"><strong>Coefficients <\/strong>\u2013 Filter coefficients can be imported from .csv files. The filter taps set in the GTT must<\/span><br \/>\n<span style=\"font-size: 12pt;\">match the taps of the filter being imported from the .csv file.<\/span><\/li>\n<\/ul>\n<p class=\"heading\"><strong>Control Parameters<\/strong><\/p>\n<p>There are no control inputs.<\/p>\n<p class=\"heading\"><strong>Native Panel<\/strong><\/p>\n<p>FIR MIMO native panel allows you to configure the Mode of each enabled filter and to load coefficients as well. All the diagonal filters are active as this diagonal values are configured through additional parameters. In order to see the graphs, you need to import coefficients. Use &#8216;Import&#8217; or &#8216;Import All&#8217; option\u00a0 to import coefficients.<\/p>\n<p>To open the native panel, double-click on the FIR MIMO audio object in the signal flow designer.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-24574\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2022\/12\/Fira_panel-e1694778041108.png\" alt=\"\" width=\"872\" height=\"464\" \/><\/p>\n<p>When the device is connected the filter states will not be in sync with the device until the states are received or the native panel is opened. Once the native panel is opened after a successful connection, the filter states will be transferred to the device.<br \/>\nProvide number of Taps to 384 and from additional parameters set all diagonal cell to 1 for Conf matrix high\/ low as per below image.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-24323 \" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2019\/06\/ConfMatrix-e1694785346795.png\" alt=\"\" width=\"608\" height=\"468\" \/><\/p>\n<p><strong>Amplitude\/Phase: <\/strong>When the coefficients are given and &#8220;Amplitude\/Phase&#8221; option is selected, the graph display the value as per below figure.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-24577\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2022\/12\/Fira_ampli.png\" alt=\"\" width=\"888\" height=\"482\" \/><\/p>\n<p><strong>Coefficients: <\/strong>When the coefficients are given and &#8220;Coefficients&#8221; option is selected, the graph display the values as per below figure. You can change the graph style using &#8220;Chart Style&#8221; option.<\/p>\n<ul>\n<li>Line chart style: when &#8220;Chart Style&#8221; selected as Line, the Coefficients graph as per below image.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-24578\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2022\/12\/FIRA_co.png\" alt=\"\" width=\"845\" height=\"457\" \/><\/li>\n<li>Dot chart style: when &#8220;Chart Style&#8221; selected as Dot, the Coefficients graph as per below image.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-24579\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2022\/12\/FIra_Chart.png\" alt=\"\" width=\"847\" height=\"457\" \/><\/li>\n<\/ul>\n<p><strong>Group Delay: <\/strong>When the coefficients are given and &#8220;Group Delay&#8221; option is selected, the graph display the values as per below figure.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-24581\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2022\/12\/GroupDelay.png\" alt=\"\" width=\"891\" height=\"494\" \/><\/p>\n<p><strong>Curves Legend: <\/strong>This option allows you to show the details of which graph tab (Amplitude\/Phase, Coefficients, Group Delay) is selected.<\/p>\n<p>On the selection of <strong>Amplitude\/Phase<\/strong> graph tab Curves Legend will show below information.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-24562\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2019\/06\/Curve_amp.png\" alt=\"\" width=\"414\" height=\"216\" \/><\/p>\n<p>On the selection of <strong>Coefficients<\/strong> graph tab and <strong>Chart Styles<\/strong> &#8216;Dots&#8217;, Curves Legend will show below information.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-24563\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2019\/06\/Curve_Co.png\" alt=\"\" width=\"410\" height=\"278\" \/><\/p>\n<p>On the selection of <strong>Coefficients<\/strong> graph tab and <strong>Chart Styles<\/strong> &#8216;Line&#8217;, Curves Legend will show below information.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-24564\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2019\/06\/Curve_Co_lin.png\" alt=\"\" width=\"408\" height=\"322\" \/><\/p>\n<p>On the selection of <strong>Group Delay<\/strong> graph tab, Curves Legend will show below information.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-24584\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2022\/12\/GroupDelay-1.png\" alt=\"\" width=\"413\" height=\"272\" \/><\/p>\n<p class=\"text\"><b>Additional<\/b><strong> Functionalities<\/strong><\/p>\n<p><strong>Flat : <\/strong>This is used to make the graph flat by making coefficients to 0.<\/p>\n<table style=\"width: 100%; border-collapse: collapse; border-style: hidden;\" border=\"1\">\n<tbody>\n<tr>\n<td style=\"width: 50%; background-color: #ffffff; border-color: #ffffff;\">\n<p>Before you use &#8220;Flat&#8221; functionality.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-24577 size-full\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2022\/12\/Fira_ampli-e1694776364784.png\" alt=\"\" width=\"1368\" height=\"870\" \/><\/td>\n<td style=\"width: 50%; background-color: #ffffff; border-color: #ffffff;\">\n<p>After you click on &#8220;Flat&#8221; button, the graph will change as per below image.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-24588 size-full\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2022\/12\/FIRA_AfterFlat-1-e1694776336429.png\" alt=\"\" width=\"1350\" height=\"865\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Import :<\/strong> This function is used to import the coefficients for a single active filter. Click the &#8220;Import&#8221; button, then enter the file path and click Ok.<br \/>\nAll coefficients for the selected filter will be imported, as shown in the graph. If the number of coefficients does not match the number of taps as shown in the screenshot below, a warning pop up will appear.<br \/>\nClick &#8216;Yes&#8217; to import\u00a0available coefficients or click &#8216;No&#8217; to cancel the import.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-24589 \" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2022\/12\/Warning-e1694776707798.png\" alt=\"\" width=\"460\" height=\"200\" \/><\/p>\n<p><strong>Export : <\/strong>This option is used to export coefficients for selected active filter into csv file.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-24593 size-full\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2022\/12\/EXport-e1694776974887.png\" alt=\"\" width=\"134\" height=\"348\" \/><\/p>\n<p><strong>Export All : <\/strong>This option is used to export all active filters in one go. Click the &#8220;Export All&#8221; button, then enter the path and file name, then click Ok.<br \/>\nA xml file will be created which will have coefficients for each active filter. Below figure shows the example of the configuration of the active filters in the xml file.<br \/>\nYou can use Import All&#8217; button to import back the exported file.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-24590 \" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2022\/12\/Fira_Export-e1694777200434.png\" alt=\"\" width=\"1169\" height=\"380\" \/><\/p>\n<p><strong>Import All : <\/strong>This option is used to import all coefficients in one go. Click the &#8220;Import All&#8221; button, then enter the XML file path and click Ok.<br \/>\nAll the given coefficients will be imported and can be seen in the graph. If there is a mismatch between xml file In and Out matrix with FIRMIMO panel In and Out matrix then error will be displayed and import will fail.<\/p>\n<p>In below image filter (Out 1 In1) is not active and try to import this as well so error is prompted.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-24592\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2022\/12\/Fira_Import_faild.png\" alt=\"\" width=\"941\" height=\"501\" \/><\/p>\n<p><strong>Read:\u00a0 <\/strong>This is used to read from the target to display in the panel.<\/p>\n<p><strong>Send : <\/strong>This is used to send the values changed in panel to target.<\/p>\n<p class=\"note\">Above mentioned functionality is similar for LowRate tab as well.<\/p>\n<h3>Memory allocation for optimized MCPS on SHARC Platform<\/h3>\n<p>The FIRMIMO audio object has memory records for FFT of input and output signals and scratch memory record used for Ping Pong Buffers for data and coefficients (SHARC platform) and temporary buffers for upsampler\/downsampler. The MCPS performance depends on allocation of these buffers to lower memory latency levels.<\/p>\n<ul>\n<li>For FIRMIMO memory latency is pre-allocated in code for certain memory records in SHARC platform.<\/li>\n<li>For memory record for FFT of input buffers (memory record label: Input Signal FFT), <strong>Level1<\/strong> is assigned.<\/li>\n<li>For memory record for FFT of output buffers (memory record label: Output Signal FFT), <strong>Level<\/strong>2 is assigned.<\/li>\n<\/ul>\n<p><strong>Level 1<\/strong> latency is assigned to Ping Pong Buffers for Data (memory record label: Data PingPong Buffer) and Scratch Memory Record.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-19655\" src=\"https:\/\/audioworx.transfunnel.co\/old\/wp-content\/uploads\/2019\/06\/FIRMIMO_MemLatency-1.png\" alt=\"\" width=\"1110\" height=\"599\" \/><\/p>\n<p class=\"heading\">MCPS Constraints<\/p>\n<p>Firmimo consumes more mcps for smaller block lengths when filters used is higher tap size. Higher block lengths has better MCPS performance. It is suggested to check mcps before finalizing the design.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>FIR MIMO is a group of FIR filter banks associated with each input and output. They produce the preferred output signal to the speakers inside a vehicle based on the input signals and the vehicle\u2019s interior design. FIR MIMO can be used for clever impulse and frequency optimization or applications such as individual sound zones. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","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":"off","ocean_gallery_id":[]},"categories":[164,315],"tags":[],"coauthors":[165],"_links":{"self":[{"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts\/4320"}],"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\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4320"}],"version-history":[{"count":46,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts\/4320\/revisions"}],"predecessor-version":[{"id":30005,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=\/wp\/v2\/posts\/4320\/revisions\/30005"}],"wp:attachment":[{"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4320"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4320"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4320"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/audioworx.transfunnel.co\/old\/index.php?rest_route=%2Fwp%2Fv2%2Fcoauthors&post=4320"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}