<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Archiving and Interchange DTD v2.3 20070202//EN" "archivearticle.dtd">
<article xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="methods-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Bohr. Scit.</journal-id>
<journal-title>BOHR International Journal of Smart Computing and Information Technology</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Bohr. Scit.</abbrev-journal-title>
<issn pub-type="epub">2583-2026</issn>
<publisher>
<publisher-name>BOHR</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.54646/bijscit.2021.15</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Methods</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>A permutation algorithm of frequency-domain blind source separation based on influence weights</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name><surname>Fu</surname> <given-names>Weihong</given-names></name>
<xref ref-type="corresp" rid="c001"><sup>&#x002A;</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Wu</surname> <given-names>Tianqi</given-names></name>
</contrib>
</contrib-group>
<aff><institution>School of Telecommunications Engineering, Xidian University</institution>, <addr-line>Xi&#x2019;an, Shaanxi</addr-line>, <country>China</country></aff>
<author-notes>
<corresp id="c001">&#x002A;Correspondence: Weihong Fu, <email>whfu@mail.xiidian.edu.cn</email></corresp>
</author-notes>
<pub-date pub-type="epub">
<day>18</day>
<month>05</month>
<year>2021</year>
</pub-date>
<volume>2</volume>
<issue>1</issue>
<fpage>28</fpage>
<lpage>33</lpage>
<history>
<date date-type="received">
<day>29</day>
<month>04</month>
<year>2021</year>
</date>
<date date-type="accepted">
<day>05</day>
<month>05</month>
<year>2021</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x00A9; 2021 Fu and Wu.</copyright-statement>
<copyright-year>2021</copyright-year>
<copyright-holder>Fu and Wu</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by-nc-nd/4.0/"><p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p></license>
</permissions>
<abstract>
<p>In the frequency domain, convolutive mixes with blind source separation can be successfully resolved. But the permutation issue in frequency-domain blind source separation needs to be resolved. We investigated the impact of frequency space and separation performance at each frequency bin on the amplitude correlation permutation algorithm with the goal of addressing the permutation ambiguity problem in frequency-domain blind source separation of convolutive mixtures, and we proposed an enhanced permutation algorithm. The improved algorithm uses spacing influence weight and performance influence weight to control the influence of the frequency bins sorted in the neighborhood on the frequency bins unsorted. Experiments have shown that the two influence weights are effective. Finally, blind source separation experiments are performed on the speech signals under the two convolutive mixing models and the simulated room mixing model. According to experiments, the increased signal to interference plus noise ratio of separated signals demonstrates that the improved algorithm outperforms the amplitude correlation permutation algorithm in terms of separation performance and robustness.</p>
</abstract>
<kwd-group>
<kwd>convolutive mixture</kwd>
<kwd>frequency domain blind source separation</kwd>
<kwd>permutation</kwd>
<kwd>influence weight</kwd>
</kwd-group>
<counts>
<fig-count count="5"/>
<table-count count="1"/>
<equation-count count="14"/>
<ref-count count="15"/>
<page-count count="6"/>
<word-count count="3910"/>
</counts>
</article-meta>
</front>
<body>
<sec id="S1" sec-type="intro">
<title>Introduction</title>
<p>The process of separating many sources that have been blended together using just their observable mixtures and unidentified paths is known as &#x201C;blind source separation&#x201D;(<xref ref-type="bibr" rid="B1">1</xref>). As a rapidly developing emerging signal processing technology in the past 20 years, it has been widely used in digital communication, (<xref ref-type="bibr" rid="B2">2</xref>, <xref ref-type="bibr" rid="B3">3</xref>) biomedical signal processing, (<xref ref-type="bibr" rid="B4">4</xref>, <xref ref-type="bibr" rid="B5">5</xref>) speech signal processing, (<xref ref-type="bibr" rid="B6">6</xref>, <xref ref-type="bibr" rid="B7">7</xref>) and other fields.</p>
<p>In recent years, the blind source separation of convolutive mixtures has become a research hotspot due to its great accordance with the current situation. The time-domain approach (<xref ref-type="bibr" rid="B8">8</xref>) and the frequency-domain method are its primary separating techniques. The Short Time Fourier Transform (STFT) converts convoluted mixed time-domain data into instantaneous mixed time-domain signals in the frequency domain. The instantaneous mixed signals in the frequency domain can be separated with the mature ICA algorithm, but the scaling and permutation ambiguities (<xref ref-type="bibr" rid="B9">9</xref>) must be resolved.</p>
<p>The separation matrix can be normalized to address the scaling ambiguity. The direction of arrival (DOA) technique (<xref ref-type="bibr" rid="B10">10</xref>) and the amplitude correlation algorithm between adjacent frequency bins (<xref ref-type="bibr" rid="B11">11</xref>) are the two primary methods for resolving permutation ambiguity (Murata algorithm). The former algorithm is more robust, but it has high environmental sensitivity and computational complexity. The latter algorithm exploits the amplitude dependence of adjacent frequency bins of the signals. It takes the sum of the amplitude correlations of adjacent frequency bins of the mixed signals as a cost function, maximizes it, and finds the corresponding permutation. Although this approach is computationally cheap, its performance is erratic and it lacks robustness. The current research shows that the Murata algorithm&#x2019;s poor robustness can be effectively improved by changing the impact factor of the frequency bins sorted in its neighborhood, thus improving its performance (<xref ref-type="bibr" rid="B12">12</xref>).</p>
<p>In this paper, we have studied the effect of frequency spacing and the separation performance at each frequency bin on the amplitude correlation permutation algorithm. The algorithm adjusts the influence of each frequency bin on the permutation result by spacing influence weight and performance influence weight. The validity of two influence weights is verified by experiments. An improved permutation algorithm is proposed with two influence weights considered simultaneously.</p>
</sec>
<sec id="S2">
<title>Frequency-domain blind source separation model of convolutive mixtures</title>
<p>Under the convolutive mixing model, the <italic>N</italic> independent sources <italic>s</italic><sub><italic>i</italic></sub>(<italic>t</italic>)(<italic>i</italic> = 1,2,&#x22EF;,<italic>N</italic>) are transmitted, and the mixed signals received by the <italic>M</italic> sensors are <italic>x</italic><sub><italic>j</italic></sub>(<italic>t</italic>)(<italic>j</italic> = 1,2,&#x22EF;,<italic>M</italic>). Its model can be expressed as:</p>
<disp-formula id="S2.E1">
<label>(1)</label>
<mml:math id="M1">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:munderover>
<mml:mo largeop="true" movablelimits="false" symmetric="true">&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo largeop="true" movablelimits="false" symmetric="true">&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>-</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x22EF;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <italic>h</italic><sub><italic>ji</italic></sub>(<italic>p</italic>) denotes the impulse response of the source <italic>i</italic> and sensor <italic>j</italic>. When <italic>p</italic> = 1, the model is an instantaneous mixing model, and when <italic>p</italic> &#x003E; 1, the model is a convolutive mixing model. <italic>P</italic> is the order of the impulse response function filter. Express the above expression as a vector form:</p>
<disp-formula id="S2.E2">
<label>(2)</label>
<mml:math id="M2">
<mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:munderover>
<mml:mo largeop="true" movablelimits="false" symmetric="true">&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>-</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <italic>s</italic>(<italic>t</italic>) = [<italic>s</italic><sub>1</sub>(<italic>t</italic>),<italic>s</italic><sub>2</sub>(<italic>t</italic>),&#x22EF;,<italic>s</italic><sub><italic>n</italic></sub>(<italic>t</italic>)]<sup>T</sup> and <italic>x</italic>(<italic>t</italic>) = [<italic>x</italic><sub>1</sub>(<italic>t</italic>),<italic>x</italic><sub>2</sub>(<italic>t</italic>),&#x22EF;,<italic>x</italic><sub><italic>m</italic></sub>(<italic>t</italic>)]<sup>T</sup> are source vectors and mixed signal vectors, respectively. <italic>H</italic>(<italic>p</italic>) refers to the impulse response matrix with a delay of <italic>p</italic>, which can be expressed as:</p>
<disp-formula id="S2.E3">
<label>(3)</label>
<mml:math id="M3">
<mml:mrow>
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mtable columnspacing="5pt" displaystyle="true" rowspacing="0pt">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mn>11</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mi mathvariant="normal">&#x22EF;</mml:mi>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mn>21</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mn>22</mml:mn>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mi mathvariant="normal">&#x22EF;</mml:mi>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mi mathvariant="normal">&#x22EE;</mml:mi>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mi mathvariant="normal">&#x22EE;</mml:mi>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mi mathvariant="normal">&#x22F1;</mml:mi>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mi mathvariant="normal">&#x22EE;</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mi mathvariant="normal">&#x22EF;</mml:mi>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>A short-time Fourier transform (STFT) is performed on both sides of Equation (2) to obtain a frequency-domain mixing model of the convolved mixed signals:</p>
<disp-formula id="S2.E4">
<label>(4)</label>
<mml:math id="M4">
<mml:mrow>
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x03C4;</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>H</mml:mi>
<mml:mo stretchy="false">~</mml:mo>
</mml:mover>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x03C4;</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <italic>S</italic>(<italic>f</italic><sub><italic>k</italic></sub>,&#x03C4;) = [<italic>S</italic><sub>1</sub>(<italic>f</italic><sub><italic>k</italic></sub>,&#x03C4;),<italic>S</italic><sub>2</sub>(<italic>f</italic><sub><italic>k</italic></sub>,&#x03C4;),&#x22EF;,<italic>S</italic><sub><italic>N</italic></sub>(<italic>f</italic><sub><italic>k</italic></sub>,&#x03C4;)]<sup>T</sup> and <italic>X</italic>(<italic>f</italic><sub><italic>k</italic></sub>,&#x03C4;) = [<italic>X</italic><sub>1</sub>(<italic>f</italic><sub><italic>k</italic></sub>,&#x03C4;),<italic>X</italic><sub>2</sub>(<italic>f</italic><sub><italic>k</italic></sub>,&#x03C4;)&#x22EF;,<italic>X</italic><sub><italic>M</italic></sub>(<italic>f</italic><sub><italic>k</italic></sub>,&#x03C4;)]<sup>T</sup> are STFT signals of the sources and the mixed signals at frequency bin <italic>f</italic><sub><italic>k</italic></sub>, respectively, <italic>f</italic><sub><italic>k</italic></sub> represents the frequency bin index, and &#x03C4; represents the time index. <inline-formula><mml:math id="INEQ19"><mml:mrow><mml:mover accent="true"><mml:mi>H</mml:mi><mml:mo stretchy="false">~</mml:mo></mml:mover><mml:mo>&#x2062;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> represents the mixing matrix after the discrete Fourier transform, i.e., <inline-formula><mml:math id="INEQ20"><mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>H</mml:mi><mml:mo stretchy="false">~</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2062;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mi>D</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>F</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>T</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2062;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2062;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x22EF;</mml:mi><mml:mo>,</mml:mo><mml:mrow><mml:mpadded width="+3.3pt"><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mpadded><mml:mo>&#x2062;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>P</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:math></inline-formula>. The demixing model in the frequency domain obtained by Equation (4) is:</p>
<disp-formula id="S2.E5">
<label>(5)</label>
<mml:math id="M5">
<mml:mrow>
<mml:mrow>
<mml:mi>Y</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x03C4;</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x03C4;</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <italic>W</italic>(<italic>f</italic><sub><italic>k</italic></sub>) is the demixing matrix at frequency bin <italic>f</italic><sub><italic>k</italic></sub>, and <italic>Y</italic>(<italic>f</italic><sub><italic>k</italic></sub>,&#x03C4;) = [<italic>Y</italic><sub>1</sub>(<italic>f</italic><sub><italic>k</italic></sub>,&#x03C4;),<italic>Y</italic><sub>2</sub>(<italic>f</italic><sub><italic>k</italic></sub>,&#x03C4;),&#x22EF;,<italic>Y</italic><sub><italic>N</italic></sub>(<italic>f</italic><sub><italic>k</italic></sub>,&#x03C4;)]<sup>T</sup> is the <italic>N</italic> separated signals at frequency bin <italic>f</italic><sub><italic>k</italic></sub>, which can be restored to the time-domain signals by inverse short time Fourier transform (ISTFT).</p>
</sec>
<sec id="S3">
<title>Ambiguity problem</title>
<p>STFT is used in frequency-domain blind source separation to transform time-domain convolutive mixed signals into frequency-domain instantaneous mixed signals, and an instantaneous blind source separation technique is used to acquire the separated signals at each frequency bin. However, owing to scaling and permutation ambiguities of frequency-domain blind source separation, the mixing matrix <inline-formula><mml:math id="INEQ26"><mml:mrow><mml:mover accent="true"><mml:mi>H</mml:mi><mml:mo stretchy="false">~</mml:mo></mml:mover><mml:mo>&#x2062;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> and the demixing matrix <italic>W</italic>(<italic>f</italic><sub><italic>k</italic></sub>) in Equations (4) and (5) will satisfy:</p>
<disp-formula id="S3.E6">
<label>(6)</label>
<mml:math id="M6">
<mml:mrow>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>P</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:msup>
<mml:mover accent="true">
<mml:mi>H</mml:mi>
<mml:mo stretchy="false">~</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Where <italic>D</italic>(<italic>f</italic><sub><italic>k</italic></sub>) is a random diagonal scaling matrix that captures scaling uncertainty, and <italic>P</italic>(<italic>f</italic><sub><italic>k</italic></sub>) is a matrix of permutations that illustrates the permutation ambiguity. Different amplitude gains of the split signals at each frequency bin will result from scaling ambiguity. Permutation ambiguity can lead to sorting errors in the separated signals. Both will affect the algorithm&#x2019;s separation effect.</p>
<p>The separation matrix of each frequency bin can be normalized in order to remove scaling ambiguity (<xref ref-type="bibr" rid="B13">13</xref>):</p>
<disp-formula id="S3.E7">
<label>(7)</label>
<mml:math id="M7">
<mml:mrow>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x2190;</mml:mo>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>a</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>W</mml:mi>
<mml:mrow>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>W</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Due to its low requirements for priori information and small computational complexity, the Murata algorithm is widely used for permutation ambiguity. However, the algorithm has poor robustness and unstable performance. The proposed algorithm effectively improves the disadvantage of the Murata algorithm by introducing the spacing influence weight and the performance influence weight, so that a better performance can be obtained.</p>
</sec>
<sec id="S4">
<title>Permutation algorithm</title>
<sec id="S4.SS1">
<title>Correlation-based permutation algorithm</title>
<p>In order to resolve the permutation ambiguity, the correlation-based permutation method (Murata algorithm) sorts the separated signals by determining the amplitude correlation coefficient between each unsorted frequency bin and its surrounding frequency bins. When sorting the frequency bin <italic>f</italic>, we take the signals in a certain neighborhood |<italic>g</italic>&#x2212;<italic>f</italic>|&#x2264;<italic>L</italic> as a reference and choose a permutation that can maximize the amplitude correlation coefficient. The frequency bin&#x2019;s most appropriate permutation is this one. This is how the algorithm works:</p>
<p>It is known that the permutation of the separated signals on the sorted frequency bins <italic>g</italic> is &#x03A0;<sub><italic>g</italic></sub>, and the permutation &#x03A0;<sub><italic>f</italic></sub> of the frequency bin <italic>f</italic> can be obtained by:</p>
<disp-formula id="S4.E8">
<label>(8)</label>
<mml:math id="M8">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x03A0;</mml:mi>
<mml:mi>f</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:munder>
<mml:mo movablelimits="false">max</mml:mo>
<mml:mi mathvariant="normal">&#x03A0;</mml:mi>
</mml:munder>
<mml:mrow>
<mml:munder>
<mml:mo largeop="true" movablelimits="false" symmetric="true">&#x2211;</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>-</mml:mo>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:munderover>
<mml:mo largeop="true" movablelimits="false" symmetric="true">&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>o</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>Y</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi mathvariant="normal">&#x03A0;</mml:mi>
</mml:msubsup>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>f</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>Y</mml:mi>
<mml:mi>i</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">&#x03A0;</mml:mi>
<mml:mi>g</mml:mi>
</mml:msub>
</mml:msubsup>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <inline-formula><mml:math id="INEQ36"><mml:mrow><mml:mrow><mml:msubsup><mml:mi>Y</mml:mi><mml:mi>i</mml:mi><mml:mi mathvariant="normal">&#x03A0;</mml:mi></mml:msubsup><mml:mo>&#x2062;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mrow><mml:msubsup><mml:mi>Y</mml:mi><mml:mi>i</mml:mi><mml:mi mathvariant="normal">&#x03A0;</mml:mi></mml:msubsup><mml:mo>&#x2062;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x22EF;</mml:mi><mml:mo>,</mml:mo><mml:mrow><mml:msubsup><mml:mi>Y</mml:mi><mml:mi>i</mml:mi><mml:mi mathvariant="normal">&#x03A0;</mml:mi></mml:msubsup><mml:mo>&#x2062;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x03C4;</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x2062;</mml:mo><mml:mi mathvariant="normal">&#x22EF;</mml:mi><mml:mo>&#x2062;</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mi>i</mml:mi><mml:mi mathvariant="normal">&#x03A0;</mml:mi></mml:msubsup><mml:mo>&#x2062;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> represents the separated signal <italic>i</italic> of the frequency bin <italic>f</italic>. &#x03A0; is one of the permutations on frequency bin <italic>f</italic>. &#x03C4; means time index and <italic>T</italic> represents time length. <inline-formula><mml:math id="INEQ41"><mml:mrow><mml:mrow><mml:msubsup><mml:mi>Y</mml:mi><mml:mi>i</mml:mi><mml:msub><mml:mi mathvariant="normal">&#x03A0;</mml:mi><mml:mi>g</mml:mi></mml:msub></mml:msubsup><mml:mo>&#x2062;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>g</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mrow><mml:msubsup><mml:mi>Y</mml:mi><mml:mi>i</mml:mi><mml:msub><mml:mi mathvariant="normal">&#x03A0;</mml:mi><mml:mi>g</mml:mi></mml:msub></mml:msubsup><mml:mo>&#x2062;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>g</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x22EF;</mml:mi><mml:mo>,</mml:mo><mml:mrow><mml:msubsup><mml:mi>Y</mml:mi><mml:mi>i</mml:mi><mml:msub><mml:mi mathvariant="normal">&#x03A0;</mml:mi><mml:mi>g</mml:mi></mml:msub></mml:msubsup><mml:mo>&#x2062;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>g</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x03C4;</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x2062;</mml:mo><mml:mi mathvariant="normal">&#x22EF;</mml:mi></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:msubsup><mml:mi>Y</mml:mi><mml:mi>i</mml:mi><mml:msub><mml:mi mathvariant="normal">&#x03A0;</mml:mi><mml:mi>g</mml:mi></mml:msub></mml:msubsup><mml:mo>&#x2062;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>g</mml:mi><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> indicates the separated signal <italic>i</italic> of the sorted frequency bins <italic>g</italic>, and |&#x2022;| denotes gaining signal amplitude. From the above formula, the correct permutation at the frequency bin <italic>f</italic> can be obtained.</p>
</sec>
<sec id="S4.SS2">
<title>Improved permutation algorithm</title>
<p>A large number of experiments show that the Murata algorithm doesn&#x2019;t have a good performance, for it treats all the sorted frequencies in the neighborhood equally. Some frequency bins far away from the frequency to be sorted or with poor separation performance are also used as references. These low-reliability frequency bins will lead to permutation errors, which will make the whole algorithm less robust. Aiming at the earlier discussed problems, we propose an improved algorithm.</p>
<p>If we only consider the effect of the adjacent frequency bin (neighborhood range <italic>L</italic> = 1), once the permutation of this frequency bin goes wrong, the permutation of all the frequencies subsequent will be incorrect. Therefore, the reference for permutation should be the sum of the correlation coefficients of the frequency bins within a certain neighborhood (neighborhood range <italic>L</italic>&#x2265;2). Also, the characteristic that the correlation among homologous signals is much higher than that among heterogeneous signals will gradually weaken as the neighborhood range increases. Thus, the spacing influence weight &#x03BE;(<italic>g</italic>,<italic>f</italic>) should decrease as the neighborhood range increases. Therefore, &#x03BE;(<italic>g</italic>,<italic>f</italic>) can be defined as (<xref ref-type="bibr" rid="B12">12</xref>):</p>
<disp-formula id="S4.E9">
<label>(9)</label>
<mml:math id="M9">
<mml:mrow>
<mml:mrow>
<mml:mi>&#x03BE;</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>f</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>-</mml:mo>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>L</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
<p>The spacing influence weight proposed in (<xref ref-type="bibr" rid="B12">12</xref>) decreases linearly with the expansion of the neighborhood range. But the larger the frequency spacing |<italic>g</italic>&#x2212;<italic>f</italic>| is, the stronger the permutation interference between the frequency bins <italic>g</italic> and <italic>f</italic> is. Therefore, the effect of the frequency bins with small spacing should be highlighted as much as possible. Thus, we define the improved spacing influence weights as:</p>
<disp-formula id="S4.E10">
<label>(10)</label>
<mml:math id="M10">
<mml:mrow>
<mml:mrow>
<mml:mi>&#x03BE;</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>f</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>-</mml:mo>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>L</mml:mi>
</mml:mfrac>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</disp-formula>
<p>In Equations (9) and (10), <italic>L</italic> is the neighborhood range, <italic>g</italic> &#x2208; (<italic>f</italic>&#x2212;1,<italic>f</italic>&#x2212;2,&#x22EF;,<italic>f</italic>&#x2212;<italic>L</italic>) represents the frequency bins that have been sorted in the neighborhood, and <italic>f</italic> indicates the frequency bin to be sorted. The farther the frequency bin <italic>g</italic> is from the frequency bin <italic>f</italic>, the smaller the spacing influence weight &#x03BE;(<italic>g</italic>,<italic>f</italic>) is.</p>
<p>The demixing matrix across frequencies has continuity, which can characterize the separation performance of each frequency bin (<xref ref-type="bibr" rid="B14">14</xref>). Generally speaking, for adjacent frequency points, if the signals are from the same source, they are more correlated, and the determinant of the demixing matrices at these frequency bins is continuous. When the determinant of the demixing matrix changes drastically, the correlation among signals from different sources exceeds that among signals from the same source. If frequency bins with poor separation performance are used as a basis for judging the permutation, it is bound to cause a decrease in the permutation effect.</p>
<p>Thus, the mean squared error corresponding to the frequency bin <italic>f</italic> is defined as follows:</p>
<disp-formula id="S4.E11">
<label>(11)</label>
<mml:math id="M11">
<mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">&#x03C6;</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>f</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>L</mml:mi>
</mml:mfrac>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:munder>
<mml:mo largeop="true" movablelimits="false" symmetric="true">&#x2211;</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>-</mml:mo>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:munder>
<mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mo movablelimits="false">det</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mo movablelimits="false">det</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>f</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <italic>W</italic>(<italic>f</italic>) is the demixing matrix of frequency bin <italic>f</italic>, det&#x2061;(&#x2022;) represents the determinant operation of the matrix, |&#x2022;| denotes the modulo operation. The larger the mean squared error &#x03C6;(<italic>f</italic>) is, the more intense the determinant changes, which means the separation performance of the frequency bin is poor. The smaller the mean squared error &#x03C6;(<italic>f</italic>) is, the better the continuity of the demixing matrix is, so the performance influence weight is inversely proportional to the mean squared error &#x03C6;(<italic>f</italic>). Therefore, we define the performance influence weight at frequency bin <italic>f</italic> as:</p>
<disp-formula id="S4.E12">
<label>(12)</label>
<mml:math id="M12">
<mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>f</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi mathvariant="normal">&#x03C6;</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>f</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
<p>The improved decision formula based on the amplitude correlation permutation algorithm obtained by the above analysis is:</p>
<disp-formula id="S4.E13">
<label>(13)</label>
<mml:math id="M13">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x03A0;</mml:mi>
<mml:mi>f</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mi>arg</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:munder>
<mml:mo movablelimits="false">max</mml:mo>
<mml:mi mathvariant="normal">&#x03A0;</mml:mi>
</mml:munder>
<mml:mrow>
<mml:mi mathvariant="normal">&#x03D5;</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>f</mml:mi>
<mml:mo rspace="0.8pt" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mpadded width="-1.7pt">
<mml:munder>
<mml:mo largeop="true" movablelimits="false" symmetric="true">&#x2211;</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>-</mml:mo>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:munder>
</mml:mpadded>
<mml:mrow>
<mml:mi>&#x03BE;</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>f</mml:mi>
<mml:mo rspace="0.8pt" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:munderover>
<mml:mo largeop="true" movablelimits="false" symmetric="true">&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>o</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>Y</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi mathvariant="normal">&#x03A0;</mml:mi>
</mml:msubsup>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>f</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>Y</mml:mi>
<mml:mi>i</mml:mi>
<mml:msub>
<mml:mi mathvariant="normal">&#x03A0;</mml:mi>
<mml:mi>g</mml:mi>
</mml:msub>
</mml:msubsup>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
</sec>
<sec id="S4.SS3">
<title>Algorithm steps</title>
<p><bold>Step 1:</bold>The time domain convolutive mixed signals should be converted into instantaneous mixed signals at each frequency bin using the STFT.</p>
<p><bold>Step 2:</bold>The JADE algorithm is used to accomplish the instantaneous blind source separation at each frequency bin in order to produce the separated signals <italic>Y</italic>(<italic>f</italic>,&#x03C4;) and the demixing matrix <italic>W</italic>(<italic>f</italic>).</p>
<p><bold>Step 3:</bold>Remove the signal&#x2019;s ambiguous scaling at each frequency bin in accordance with Equation (7).</p>
<p><bold>Step 4:</bold>The separated signals at the first frequency bin <italic>f</italic><sub>1</sub> are used as a reference for permutation, and the optimal neighborhood range <italic>L</italic><sub><italic>max</italic></sub> is given.</p>
<p><bold>Step 5:</bold>Starting from the second frequency bin <italic>f</italic>, if |<italic>f</italic>&#x2212;<italic>f</italic><sub>1</sub>| &#x003C; <italic>L</italic><sub><italic>max</italic></sub>, the neighborhood range <italic>L</italic> = |<italic>f</italic>&#x2212;<italic>f</italic><sub>1</sub>|, otherwise the neighborhood range <italic>L</italic> = <italic>L</italic><sub><italic>max</italic></sub>.</p>
<p><bold>Step 6:</bold>Calculate &#x03BE;(<italic>g</italic>,<italic>f</italic>) and &#x03D5;(<italic>f</italic>) according to Equations (10) and (12), and solve the permutation problem of frequency bin <italic>f</italic> according to Equation (13).</p>
<p><bold>Step 7:</bold>The frequency-domain signals are restored to the time-domain signals by ISTFT, and the estimation of the source signals is completed.</p>
</sec>
</sec>
<sec id="S5">
<title>Simulation experiments and analysis</title>
<p>In order to verify the performance of the proposed ambiguity, the algorithms before and after the improvement are compared by simulation experiments. Two sources, two sensors, and an impulse response function filter with an order of 10 are present. The source signals for the simulation experiment were two voice signals taken from the Hiroshi Sawada site of the NTT Communication Science Laboratory. The signal to interference plus noise ratio (SINR) is used to estimate the separation effect, defined as:</p>
<disp-formula id="S5.E14">
<label>(14)</label>
<mml:math id="M14">
<mml:mrow>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>I</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mn>101</mml:mn>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mo fence="true">||</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>a</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>e</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo fence="true">||</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mo fence="true">||</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>a</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>e</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo fence="true">||</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mfrac>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <italic>s</italic><sub><italic>target</italic></sub>(<italic>n</italic>) represents the target signal, and <italic>y</italic>(<italic>n</italic>) denotes the separated signal.</p>
<p>The improved algorithm in this paper is called SP-Murata. We test its performance under different load weights. The SINR is applied in the examination to measure the separation effect of the improved algorithm.</p>
<p>When the performance influence weight &#x03C6;(<italic>f</italic>) = 1 and the neighborhood range <italic>L</italic> = 5 are known, we test the two spacing influence weights &#x03BE;(<italic>g</italic>,<italic>f</italic>) separately. As shown in <xref ref-type="fig" rid="F1">Figure 1</xref>, compared with the Murata algorithm, both the spacing influence weight given in (<xref ref-type="bibr" rid="B12">12</xref>) [Equation (9)] and that proposed in this paper [Equation (10)] can improve the separation performance to a certain degree. The spacing influence weight proposed in this paper has the best performance among the three algorithms. Compared with the Murata algorithm, the proposed algorithm can improve the SINR by 2&#x2212;3 dB, which is 1&#x2212;2 dB better than the algorithm in (<xref ref-type="bibr" rid="B12">12</xref>). Therefore, in the subsequent experiments, <inline-formula><mml:math id="INEQ84"><mml:mrow><mml:mrow><mml:mi>&#x03BE;</mml:mi><mml:mo>&#x2062;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>g</mml:mi><mml:mo>,</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mfrac><mml:mrow><mml:mrow><mml:mi>L</mml:mi><mml:mo>-</mml:mo><mml:mrow><mml:mo stretchy="false">|</mml:mo><mml:mrow><mml:mi>g</mml:mi><mml:mo>-</mml:mo><mml:mi>f</mml:mi></mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>L</mml:mi></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> is selected for the spacing influence weight.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption><p>The impact of spacing influence weights on performance.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijscit-2021-15-g001.tif"/>
</fig>
<p>When the spacing influence weight &#x03BE;(<italic>g</italic>,<italic>f</italic>) = 1 and the neighborhood range <italic>L</italic> = 5, we test whether the addition of the performance influence weight &#x03C6;(<italic>f</italic>) could improve the separation performance. <xref ref-type="fig" rid="F2">Figure 2</xref> shows that compared to the Murata algorithm, the performance influence weight &#x03C6;(<italic>f</italic>) can somewhat enhance the performance of the algorithm. This can prove the effectiveness of performance influence weight &#x03C6;(<italic>f</italic>) on algorithm improvement. Because both types of influence weights can improve the performance of the algorithm, we simultaneously use them to improve the Matura algorithm. What needs to be determined is the optimal neighborhood range in permutation, so the following experiment is performed:</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption><p>The impact of spacing influence weights on performance.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijscit-2021-15-g002.tif"/>
</fig>
<p>It can be seen from the above analysis that the algorithm&#x2019;s performance has improved under the action of &#x03BE;(<italic>g</italic>,<italic>f</italic>) and, &#x03C6;(<italic>f</italic>), respectively. Therefore, the two influence weights are simultaneously applied to the Murata algorithm. In order to find the optimal neighborhood range of the improved algorithm, we compare the algorithm&#x2019;s performance in different neighborhood ranges without noise. The results are shown in <xref ref-type="table" rid="T1">Table 1</xref>.</p>
<table-wrap position="float" id="T1">
<label>TABLE 1</label>
<caption><p>Influence of different neighborhood ranges on algorithm performance.</p></caption>
<table cellspacing="5" cellpadding="5" frame="hsides" rules="groups">
<thead>
<tr>
<td valign="top" align="left">Neighborhood range</td>
<td valign="top" align="center">2</td>
<td valign="top" align="center">3</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">5</td>
<td valign="top" align="center">6</td>
<td valign="top" align="center">7</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">9</td>
<td valign="top" align="center">10</td>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left"><bold>SINR (dB)</bold></td>
<td valign="top" align="center">20.24</td>
<td valign="top" align="center">22.49</td>
<td valign="top" align="center">23.41</td>
<td valign="top" align="center">24.12</td>
<td valign="top" align="center">24.67</td>
<td valign="top" align="center">23.76</td>
<td valign="top" align="center">23.81</td>
<td valign="top" align="center">23.59</td>
<td valign="top" align="center">23.64</td>
</tr>
</tbody>
</table></table-wrap>
<p>It shows that the SINR of the algorithm increases with the increase in the neighborhood range. When the neighborhood range reaches a certain value <italic>L</italic> = 6, the performance of the algorithm tends to be stable. When the neighborhood range is 6, the two advantages of the algorithm performance and the minimum calculation amount can be considered at the same time. Therefore, the value of the optimal neighborhood range is set to <italic>L</italic> = 6 in the following simulated trials.</p>
<p>Then, using the 10-order filter convolutive mixing model, the 25-order filter convolutive mixing model, and the simulated room mixing model, we evaluate the performance of the suggested algorithm under these three simulation scenarios (<xref ref-type="bibr" rid="B15">15</xref>). In the simulated room mixing model, we construct a simulated room of 5<italic>m</italic>&#x00D7;5<italic>m</italic>&#x00D7;2.5<italic>m</italic>, and the impulse response function filter&#x2019;s order can be 400 or higher. To test the mixed signal, different SNRs of Gaussian white noise are applied. In <xref ref-type="fig" rid="F3">Figures 3</xref>&#x2013;<xref ref-type="fig" rid="F5">5</xref>, the average SINR of the separated signals is displayed.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption><p>Performance comparison of algorithms in 10-order mixed model.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijscit-2021-15-g003.tif"/>
</fig>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption><p>Performance comparison of algorithms in 25-order mixed model.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijscit-2021-15-g004.tif"/>
</fig>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption><p>Performance comparison of algorithms under the simulated room mixing model.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijscit-2021-15-g005.tif"/>
</fig>
<p><xref ref-type="fig" rid="F3">Figures 3</xref>&#x2013;<xref ref-type="fig" rid="F5">5</xref> show the performance comparison between the suggested approach and the Matura algorithm for the three different convolutive mixing models: the 10-order model, the 25-order model, and the simulated room model. The figures show that, in comparison to the Murata algorithm, the SP-Murata algorithm performs much better under these three convolutive mixing models. The SINR reflects this. The performance of the algorithm can be increased by 2&#x2212;3 dB for both the 10-order and 25-order convolutive mixing models. The performance of the algorithm can be improved by 3&#x2212;4 dB in the simulated room model.</p>
</sec>
<sec id="S6" sec-type="conclusion">
<title>Conclusion</title>
<p>The frequency domain solution of the permutation ambiguity problem of multiple frequency bins is necessary for the blind source separation technique of convolutive mixes. This study presents a frequency-domain blind source separation permutation method with improved amplitude correlation based on effect weights. The algorithm considers the effect of adjacent frequency bin space, separation performance of each frequency bin, and neighborhood ranges, and solves the poor robustness of the Matura algorithm. In this paper, we verify the improvement of the proposed two types of influence weights on the performance and finally obtain the SP-Matura algorithm. On the basis of this, various convolutive mixing models are used to test the algorithm&#x2019;s performance. The outcomes demonstrate that the suggested algorithm can substantially enhance separation performance.</p>
</sec>
<sec id="S7" sec-type="author-contributions">
<title>Author contributions</title>
<p>WF contributed significantly to analysis and manuscript preparation. TW performed the experiment. All authors contributed to the article and approved the submitted version.</p>
</sec>
</body>
<back>
<sec id="S8" sec-type="funding-information">
<title>Funding</title>
<p>This work was supported by the National Nature Science Foundation of China (61876143).</p>
</sec>
<ack><p>We sincerely thank the reviewers who read the draft versions of the manuscript and provided numerous valuable ideas.</p>
</ack>
<sec id="S9" sec-type="COI-statement">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1"><label>1.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhao</surname> <given-names>L</given-names></name> <name><surname>Beibei</surname> <given-names>Z</given-names></name> <name><surname>Wu</surname> <given-names>XP</given-names></name> <name><surname>Zhang</surname> <given-names>C</given-names></name> <name><surname>Zhou</surname> <given-names>B</given-names></name></person-group>. <article-title>A permutation algorithm based on dynamic time warping in speech frequency-domain blind source separation.</article-title> <source><italic>Speech Commun.</italic></source> (<year>2017</year>) <volume>92</volume>: <fpage>132</fpage>&#x2013;<lpage>41</lpage>.</citation></ref>
<ref id="B2"><label>2.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chen</surname> <given-names>AJ</given-names></name> <name><surname>Yang</surname> <given-names>QS</given-names></name> <name><surname>Wang</surname> <given-names>J</given-names></name><etal/></person-group> <article-title>Blind source separation of LFM signals using time frequency domain sparseness.</article-title> <source><italic>Telecommun Eng.</italic></source> (<year>2015</year>) <volume>55</volume>:<fpage>61</fpage>&#x2013;<lpage>7</lpage>.</citation></ref>
<ref id="B3"><label>3.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Haile</surname> <given-names>MA</given-names></name> <name><surname>Dykas</surname> <given-names>B</given-names></name></person-group>. <article-title>Blind source separation for vibration-based diagnostics of rotorcraft bearings.</article-title> <source><italic>J Vibrat Control.</italic></source> (<year>2016</year>) <volume>22</volume>: <fpage>3807</fpage>&#x2013;<lpage>20</lpage>.</citation></ref>
<ref id="B4"><label>4.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Negro</surname> <given-names>F</given-names></name> <name><surname>Muceli</surname> <given-names>S</given-names></name> <name><surname>Castronovo</surname> <given-names>AM</given-names></name> <name><surname>Holobar</surname> <given-names>A</given-names></name> <name><surname>Farina</surname> <given-names>D</given-names></name></person-group>. <article-title>Multichannel intramuscular and surface EMG decomposition by convolutive blind source separation.</article-title> <source><italic>J Neural Eng.</italic></source> (<year>2016</year>) <volume>13</volume>: <fpage>26</fpage>&#x2013;<lpage>7</lpage>.</citation></ref>
<ref id="B5"><label>5.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ali</surname> <given-names>A</given-names></name> <name><surname>Benjamin</surname> <given-names>R</given-names></name> <name><surname>Justin</surname> <given-names>R</given-names></name></person-group>. <article-title>Blind deconvolution using convex programming.</article-title> <source><italic>IEEE Trans Inform Theory.</italic></source> (<year>2014</year>) <volume>60</volume>: <fpage>1711</fpage>&#x2013;<lpage>32</lpage>.</citation></ref>
<ref id="B6"><label>6.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Tariqullah</surname> <given-names>J</given-names></name> <name><surname>Haseeb</surname> <given-names>Z</given-names></name> <name><surname>Ruhulamin</surname> <given-names>K</given-names></name><etal/></person-group> <article-title>A blind source separation approach based on IVA for convolutive speech mixtures.</article-title> <source><italic>Proceedings of the 8th Computer Science and Electronic Engineering Conference (CEEC), Colchester, United Kingdom, Sep. 2016.</italic></source> <publisher-loc>Colchester</publisher-loc>: (2016). p. <fpage>140</fpage>&#x2013;<lpage>5</lpage>.</citation></ref>
<ref id="B7"><label>7.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chabriel</surname> <given-names>G</given-names></name> <name><surname>Kleinsteuber</surname> <given-names>M</given-names></name> <name><surname>Moreau</surname> <given-names>E</given-names></name> <name><surname>Shen</surname> <given-names>H</given-names></name> <name><surname>Tichavsky</surname> <given-names>P</given-names></name> <name><surname>Yeredor</surname> <given-names>A</given-names></name><etal/></person-group> <article-title>Joint matrices decompositions and blind source separation: A survey of methods, identification, and applications.</article-title> <source><italic>IEEE Signal Process Mag.</italic></source> (<year>2014</year>) <volume>31</volume>:<fpage>34</fpage>&#x2013;<lpage>43</lpage>.</citation></ref>
<ref id="B8"><label>8.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jia</surname> <given-names>ZC</given-names></name> <name><surname>Han</surname> <given-names>DW</given-names></name> <name><surname>Chen</surname> <given-names>L</given-names></name><etal/></person-group> <article-title>Convolutive blind separation algorithm based on complex Givens matrix and bat optimization.</article-title> <source><italic>J Commun.</italic></source> (<year>2016</year>) <volume>37</volume>:<fpage>107</fpage>&#x2013;<lpage>17</lpage>.</citation></ref>
<ref id="B9"><label>9.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Saito</surname> <given-names>S</given-names></name> <name><surname>Oishi</surname> <given-names>K</given-names></name> <name><surname>Furukawa</surname> <given-names>T</given-names></name></person-group>. <article-title>Convolutive blind source separation using an iterative least-squares algorithm for non-orthogonal approximate joint diagonalization.</article-title> <source><italic>IEEE/ACM Trans Audio Speech Lang Process.</italic></source> (<year>2015</year>) <volume>23</volume>:<fpage>2434</fpage>&#x2013;<lpage>48</lpage>.</citation></ref>
<ref id="B10"><label>10.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Saruwatari</surname> <given-names>H</given-names></name> <name><surname>Saruwatari</surname> <given-names>H</given-names></name> <name><surname>Kawamura</surname> <given-names>T</given-names></name> <name><surname>Nishikawa</surname> <given-names>T</given-names></name> <name><surname>Lee</surname> <given-names>A</given-names></name> <name><surname>Shikano</surname> <given-names>K</given-names></name></person-group>. <article-title>Blind source separation based on a fast-convergence algorithm combining ICA and beamforming.</article-title> <source><italic>IEEE Trans Audio Speech Lang Process.</italic></source> (<year>2006</year>) <volume>14</volume>:<fpage>666</fpage>&#x2013;<lpage>78</lpage>.</citation></ref>
<ref id="B11"><label>11.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Murata</surname> <given-names>N</given-names></name> <name><surname>Ikeda</surname> <given-names>S</given-names></name> <name><surname>Ziehe</surname> <given-names>A</given-names></name></person-group>. <article-title>An approach to blind sources separation based on temporal structure of speech signals.</article-title> <source><italic>Neurocomputing.</italic></source> (<year>2001</year>) <volume>41</volume>:<fpage>1</fpage>&#x2013;<lpage>24</lpage>.</citation></ref>
<ref id="B12"><label>12.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bo</surname> <given-names>XL</given-names></name> <name><surname>He</surname> <given-names>YG</given-names></name> <name><surname>Yin</surname> <given-names>B</given-names></name> <name><surname>Fang</surname> <given-names>G</given-names></name> <name><surname>Fan</surname> <given-names>X</given-names></name> <name><surname>Li</surname> <given-names>Z</given-names></name><etal/></person-group> <article-title>Algorithm to eliminate permutation of frequency domain blind source separation based on influence factor.</article-title> <source><italic>Aata Electron Sin.</italic></source> (<year>2014</year>) <volume>42</volume>: <fpage>360</fpage>&#x2013;<lpage>5</lpage>.</citation></ref>
<ref id="B13"><label>13.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wang</surname> <given-names>Z</given-names></name> <name><surname>Bi</surname> <given-names>G</given-names></name></person-group>. <article-title>A time-frequency preprocessing method for blind source separation of speech signal with temporal structure.</article-title> <source><italic>Proceedings of the 10th International Conference On Information, Communications and Signal Processing.</italic></source> <publisher-loc>New York, NY</publisher-loc>: (2015). p. <fpage>1</fpage>&#x2013;<lpage>6</lpage>.</citation></ref>
<ref id="B14"><label>14.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Nesta</surname> <given-names>F</given-names></name> <name><surname>Svaizer</surname> <given-names>P</given-names></name> <name><surname>Omologo</surname> <given-names>M</given-names></name></person-group>. <article-title>Convolutive BSS of short mixture by ICA recursively regularized across frequencies.</article-title> <source><italic>IEEE Trans Audio Speech Lang Process.</italic></source> (<year>2011</year>) <volume>19</volume>:<fpage>624</fpage>&#x2013;<lpage>37</lpage>.</citation></ref>
<ref id="B15"><label>15.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Pham</surname> <given-names>DT</given-names></name> <name><surname>Serviere</surname> <given-names>C</given-names></name> <name><surname>Boumaraf</surname> <given-names>H</given-names></name></person-group>. <article-title>Blind separation of speech mixtures based on nonstationarity.</article-title> <source><italic>Proceedings of the International Symposium on Signal Processing and ITS Applications, Paris, France, July 2003.</italic></source> (<volume>Vol. 2</volume>), <publisher-loc>Paris</publisher-loc> (2003). p. <fpage>73</fpage>&#x2013;<lpage>6</lpage>.</citation></ref>
</ref-list>
</back>
</article>
