<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=411007&amp;view=findpost&amp;p=3730189</guid>
        <pubDate>Wed, 28 Jun 2017 08:44:26 +0000</pubDate>
        <title>Суммирование с перекрытием и алиасинг</title>
        <link>https://forum.sources.ru/index.php?showtopic=411007&amp;view=findpost&amp;p=3730189</link>
        <description><![CDATA[SergeiSX: Спасибо&#33;]]></description>
        <author>SergeiSX</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=411007&amp;view=findpost&amp;p=3730123</guid>
        <pubDate>Tue, 27 Jun 2017 13:58:07 +0000</pubDate>
        <title>Суммирование с перекрытием и алиасинг</title>
        <link>https://forum.sources.ru/index.php?showtopic=411007&amp;view=findpost&amp;p=3730123</link>
        <description><![CDATA[Pavia: <strong class='tag-b'>SergeiSX</strong><br>
Это да тут у нас мыслисхожи.]]></description>
        <author>Pavia</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=411007&amp;view=findpost&amp;p=3730120</guid>
        <pubDate>Tue, 27 Jun 2017 13:44:38 +0000</pubDate>
        <title>Суммирование с перекрытием и алиасинг</title>
        <link>https://forum.sources.ru/index.php?showtopic=411007&amp;view=findpost&amp;p=3730120</link>
        <description><![CDATA[SergeiSX: Спасибо&#33; Я знаком с этой книгой но внимательно пока что не читал. Обязательно почитаю&#33; А мой вопрос про применение окон - я правильно понимаю зачем нужны окна при кратковременном преобразовании Фурье?]]></description>
        <author>SergeiSX</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=411007&amp;view=findpost&amp;p=3730098</guid>
        <pubDate>Tue, 27 Jun 2017 11:35:05 +0000</pubDate>
        <title>Суммирование с перекрытием и алиасинг</title>
        <link>https://forum.sources.ru/index.php?showtopic=411007&amp;view=findpost&amp;p=3730098</link>
        <description><![CDATA[Pavia: <strong class='tag-b'>SergeiSX</strong><br>
Это популярная литература. Я было право подумал вы знакомы с книгой А.Б.Сергиенко_Цифровая обработка сигналов.<br>
Эта книга обязательна к прочтению и изучению. С неё стоит начать изучение обработки сигналов.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Если частота гармонического сигнала больше частоты Найквиста, восстановленный по дискретным отсчетам аналоговый сигнал (как и в предыдущем случае, он показан пунктирной линией) будет также гармоническим, но с иной частотой (рис. 3,3, в), Данный эффект носит название появления ложных частот (aliasing), мы продолжим его рассмотрение в следующем разделе «Спектр дискретного сигнала». <br>
</div></div><br>
<br>
При децимации мы наблюдаем ложные частоты, за счёт их переноса.]]></description>
        <author>Pavia</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=411007&amp;view=findpost&amp;p=3730079</guid>
        <pubDate>Tue, 27 Jun 2017 08:13:12 +0000</pubDate>
        <title>Суммирование с перекрытием и алиасинг</title>
        <link>https://forum.sources.ru/index.php?showtopic=411007&amp;view=findpost&amp;p=3730079</link>
        <description><![CDATA[SergeiSX: Здравствуйте, Pavia&#33; Спасибо Вам за развернутый ответ&#33; Я попытался на других форумах задать этот же вопрос. <br>
Многое становится понятно. Если я правильно понял, интервал исходного сигнала, используемый для преобразования в ряд Фурье, становится периодом этого сигнала с точки зрения ряда Фурье. И возникают искажения на границах интервалов. Они (искажения) проявляются в результате преобразования в виде дополнительных спектральных компонент. В свете этого я правильно понимаю что оконное преобразование призвано уменьшить разрывы на границах блоков? Спектр каждого блока при этом будет отражать только частотные компоненты в центральной части блока. Немножко путанно выражаюсь, извините.<br>
У меня есть статья, в которой алиасинг напрямую связыают с частотой дискретизации. Я ее прилагаю. Интересно Ваше мнение.<br>
<br>
Еще раз огромное Спасибо &#33;<br>
<br>
<span class="b-attach" data-size="35446" data-hits="332" data-attach-id="54816" data-attach-post-id="0">
			<span class="b-attach__title"></span><a class='b-attach-link' href='https://forum.sources.ru/index.php?act=Attach&amp;type=post&amp;id=0&amp;attach_id=54816' title='Скачать файл' target='_blank'>Aliasing.zip</a> (, : 332)
		</span>]]></description>
        <author>SergeiSX</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=411007&amp;view=findpost&amp;p=3730025</guid>
        <pubDate>Mon, 26 Jun 2017 18:48:42 +0000</pubDate>
        <title>Суммирование с перекрытием и алиасинг</title>
        <link>https://forum.sources.ru/index.php?showtopic=411007&amp;view=findpost&amp;p=3730025</link>
        <description><![CDATA[Pavia: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=411007&view=findpost&p=3730000'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>SergeiSX &#064; <time class="tag-quote__quoted-time" datetime="2017-06-26T15:10:17+00:00">26.06.17, 15:10</time></span><div class='quote '>Алиасинг сколько я понимаю - это перетекание высокочастотных компонентов спектра в низкочастотные с отражением от середины при недостаточной частоте дискретизации.</div></div><br>
Нет.  От частоты дискретизации он не зависит.<br>
<br>
const<br>
  WindowSize=128; //размер окна<br>
  fd=200;  // частота дискретизации<br>
<br>
Одна синусоида частотой 9.375 гц, другая 9 гц как вы понимаете их спектр должны выглядит как одна и вторая палка. Ближе всего красная, а вот у синей проблема.<br>
Вся проблема в том что как говорят Фурье раскладывает на свои частоты. Отсюда и алиасинг. <br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">procedure TForm1.Button7Click(Sender: TObject);</div><div class="code_line">const</div><div class="code_line">&nbsp;&nbsp;WindowSize=128; //число отсчётов</div><div class="code_line">&nbsp;&nbsp;fd=200; &nbsp;// частота дискретизации</div><div class="code_line">&nbsp;</div><div class="code_line">var</div><div class="code_line">&nbsp;i:Integer;</div><div class="code_line">&nbsp;a,a1,a2,b:TArrayReal;</div><div class="code_line">&nbsp;z,z2:TArrayComplex;</div><div class="code_line">begin</div><div class="code_line">&nbsp;//создаём сигнал</div><div class="code_line">&nbsp;SetLength(a,10000);</div><div class="code_line">&nbsp;GenSin(a,fd,9.375,0);</div><div class="code_line">&nbsp;// копируем блок, для красивого графика +1 элемент</div><div class="code_line">&nbsp;SetLength(a1, WindowSize+1);</div><div class="code_line">&nbsp;Move(a[0], a1[0], (WindowSize+1)*SizeOf(a[0]));</div><div class="code_line">&nbsp;AddArrayInChart(Chart1,a1,4,fd);</div><div class="code_line">&nbsp;SetLength(a1, WindowSize); // обрезаем лишний элемент</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;// Вычисляем спектр</div><div class="code_line">&nbsp;CopyInRe(z,a1);</div><div class="code_line">&nbsp;FFT(z,False);</div><div class="code_line">&nbsp;Amp(a2,Z);</div><div class="code_line">&nbsp;//do_db(a2);</div><div class="code_line">&nbsp;AddArrayInChart(Chart2,a2,000000+3,fd);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;SetLength(a,0);</div><div class="code_line">&nbsp;SetLength(a1,0);</div><div class="code_line">&nbsp;SetLength(a2,0);</div><div class="code_line">&nbsp;SetLength(Z,0);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;SetLength(a,10000);</div><div class="code_line">&nbsp;GenSin(a,fd,9,0);</div><div class="code_line">&nbsp;// копируем блок, для красивого графика +1 элемент</div><div class="code_line">&nbsp;SetLength(a1, WindowSize+1);</div><div class="code_line">&nbsp;Move(a[0], a1[0], (WindowSize+1)*SizeOf(a[0]));</div><div class="code_line">&nbsp;AddArrayInChart(Chart1,1,a1,4,fd);</div><div class="code_line">&nbsp;SetLength(a1, WindowSize); // обрезаем лишний элемент</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;// Вычисляем спектр</div><div class="code_line">&nbsp;CopyInRe(z,a1);</div><div class="code_line">&nbsp;FFT(z,False);</div><div class="code_line">&nbsp;Amp(a2,Z);</div><div class="code_line">&nbsp;//do_db(a2);</div><div class="code_line">&nbsp;AddArrayInChart(Chart2,1,a2,000000+3,fd);</div><div class="code_line">end;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<br>
<a class='tag-url' href='https://postimg.org/image/y58gumidz/' target='_blank'><img class='tag-img' src='https://s23.postimg.org/lqlouaqvv/image.png' alt='user posted image'></a><br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2017-06-26T19:32:07+00:00">26.06.17, 19:32</time></span></span><br>
Откуда берутся ложные частоты? <br>
По сути мы сами взяли и не заметили как проделали следующее. Взяли синусоиду. Обрезали на середине периода периодически повторили.<br>
<br>
<a class='tag-url' href='https://postimg.org/image/lpkwssnz9/' target='_blank'><img class='tag-img' src='https://s2.postimg.org/3zj87raeh/image.png' alt='user posted image'></a><br>
А произошло это когда мы подменили преобразование Фурье на ряд Фурье. РЯД ФУРЬЕ РАСКЛАДЫВАЕТ ТОЛЬКО ПЕРИОДИЧЕСКИЕ СИГНАЛЫ. Т.е те которые укладываются в период ряда Фурье.]]></description>
        <author>Pavia</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=411007&amp;view=findpost&amp;p=3730016</guid>
        <pubDate>Mon, 26 Jun 2017 17:42:07 +0000</pubDate>
        <title>Суммирование с перекрытием и алиасинг</title>
        <link>https://forum.sources.ru/index.php?showtopic=411007&amp;view=findpost&amp;p=3730016</link>
        <description><![CDATA[Pavia: <strong class='tag-b'>SergeiSX</strong><br>
Предлагаю вам сделать подобные сообщения на разных форумах. dsplib.ru electronix.ru dxdy.ru и др.<br>
И послушайте ответы.]]></description>
        <author>Pavia</author>
        <category>Программирование звука</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=411007&amp;view=findpost&amp;p=3730000</guid>
        <pubDate>Mon, 26 Jun 2017 15:10:17 +0000</pubDate>
        <title>Суммирование с перекрытием и алиасинг</title>
        <link>https://forum.sources.ru/index.php?showtopic=411007&amp;view=findpost&amp;p=3730000</link>
        <description><![CDATA[SergeiSX: Здравствуйте &#33; Занимаясь шумоподавлением для звукового сигнала и применяя покадровую обработку понял что не достаточно хорошо понимаю метод суммирования с перекрытием при восстановлении очищенного от шума сигнала. Хотел бы проконсультироваться, но предварительно опишу то что сам понимаю и надеюсь что выплывут ошибки и недочеты моего понимания. Для шумоподавления я применяю метод спектрального вычитания, что аналогично применению фильтра в спектральной области с некоторой передаточной функцией. То есть очередной кадр с помощью кратковременного преобразования Фурье(с применением взвешивающего окна) преобразуется в спектральную область а дальше производится вычитание усредненного спектра шума и обратное преобразование во временную область. Кадры берутся с некоторым перекрытием. Затем полученный временной кадр очищенного сигнала суммируется с перекрытием с уже ранее очищенным участком сигнала. <br>Насколько я понимаю данная процедура должна быть технически аналогична ситуации когда имеется входная последовательность квазибесконечная и импульсная характеристика фильтра через который эта последовательность пропускается, достаточно короткая по сравнению с длиной входной последовательности. В этом случае принято применять так называемую секционированную свертку. Она основана на том что входная последовательность обрабатывается блоками. При этом чаще всего применяется алгоритмы свертки с использованием БПФ. То есть циклические свертки. Я нашел в литературе два предлагаемых варианта: (книжка Г. Нуссбаумер Быстрое преобразование Фурье и алгоритмы вычисления сверток)<br>1. Алгоритм перекрытия с суммированием.<br>2. Алгоритм перекрытия с накоплением.<br>В первом алгоритме входная последовательность разбивается на смежные (а не перекрывающиеся) блоки и свертка с ИХ фильтра производится при помощи циклического алгоритма свертки при этом последовательности дополняются нулями до некоторого размера N &gt;= N1 + N2 - 1. N1 - длина последовательности, представляющей импульсную характеристику, N2 - длина кадра входной последовательности. Таким образом получаем результат циклической свертки который перекрывается со следующим блоком в N - N2 отсчетах. При суммировании перекрытий получаем результирующую последовательность.<br>Во втором алгоритме блоки изначально берутся перкрывающимися и над каждым блоком выполняется циклическая свертка. Затем первые N - N1 членов циклической свертки отбрасываются а остаются только N - N1 + 1 членов. Здесь никакого суммирования вообще не происходит. То есть последовательность выходная строится из смежных блоков правильных отсчетов. Более того в книге утверждается что этот вариант алгоритма предпочтительнее чем первый.<br>В случае же обработки которую рекомендуют в статьях о шумоподавлении применяется алгоритм блочной обработки который не принадлежит ни к одному из типов обработки, описанных выше. Хотя по идее любая обработка кадра входного сигнала в спектральной области - это применение фильтра с некоторой импульсной характеристикой преобразованной в частотную область (то есть передаточной функцией). И, поскольку длина кадра фиксированная, фиксированной надо полагать и эту самую импульсную характеристику. То есть можно применять один из алгоритмов описанных выше?? Но видимо не все так просто.<br>Теперь об оконном преобразовании Фурье и алиасинге. Алиасинг сколько я понимаю - это перетекание высокочастотных компонентов спектра в низкочастотные с отражением от середины при недостаточной частоте дискретизации. (поправьте если не прав) Оконное преобразование применяется для того чтобы в спектр попали частоты из среднего участка кадра и спектр не был бы искажен из за разрыва сигнала на границах блоков ? Я правильно понимаю ? При этом перекрытие как утверждается определяет уровень алиасинга. Вот тут я совершенно плохо понимаю как это взаимосвязано. Буду рад любой информации и подсказке где почитать о подобной обработке блоков с перекрытием.]]></description>
        <author>SergeiSX</author>
        <category>Программирование звука</category>
      </item>
	
      </channel>
      </rss>
	