Перейти к содержанию
    

SergeiSX

Участник
  • Постов

    17
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о SergeiSX

  • Звание
    Участник
    Участник
  1. Подключение SDRAM к NUCLEO-F767ZI

    Здравствуйте! Мы хотим подключить к плате NUCLEO-F767ZI на базе STM32F767ZIT6 SDRAM MT48LC64M8A2 512 Мбит: x8 (16 Meg x 8 x 4 banks) через интерфейс FMC. Точнее подключить параллельно 4 таких микросхемы на один CS (например на CS0) и таким образом сформировать шину данных на FMC 32 бит. Сразу же возникает вопрос, как будут обрабатываться запросы к данной памяти на чтение например 8 или 16 битных данных не выравненные на границу 32 бит из программы? Правильно запрограммированный интерфейс FMC сам определяет что нужно вначале выровнять адрес на границу , выполнить 32 битную транзакцию и выделить нужные байты? Или я описал фантастический сценарий и такие транзакции просто не будут выполняться ? Буду рад любой информации.
  2. Я рискну задать глупый вопрос. Я все думал об алиасинге как о маскировании более высокой частоты более низкой. Но вот в переводе этого слова встретил еще вариант "ступенчатость". Таким образом при сшивке блоков во время покадровой обработки длинного сигнала алиасинг это как раз резкие скачки и ступенчатость сигнала а не маскирование частот?
  3. Спасибо большое! В принципе у меня сугубо речевые сигналы и музыка в них скорее помеха. То есть я могу ограничиться речевой полосой частот. Презентация у меня эта есть. Я как то сразу не подумал что можно в ней почерпнуть информацию. Буду дальше образовываться в этой области и задавать вопросы если зайду в тупик снова. Еще раз Спасибо !
  4. В принципе в моем эксперименте с набором синусоид на фоне белого шума все звучит хорошо. Я сейчас в большей степени хочу теоретически понять всею эту систему с перекрытием. Поэтому и пытаюсь с разных сторон заходить так сказать) У меня есть книжка Гоулд и Рабинер по цифровой обработке сигналов. Там может быть описана вся эта система с перекрытиями и ее применимость ?
  5. Даже если при этом будут определенные искажения? И неточности при воспроизведении сигнала ?
  6. Спасибо Вам за пример. Я правильно понимаю что в методе перекрытия с накоплением overlap-save первые N отсчетов вообще теряются для выходной последовательности ? Спасибо! Я посмотрел и Википедию и некоторые другие материалы. Вопрос возник следующий, я прошу прощения за возможную навязчивость, А если все же разбивать на блоки длины Nfft входную последовательность, затем каждый блок дополнять нулями до длины IRLen + Nfft - 1, дополнять нулями импульсную характеристику фильтра до той же суммарной длины, делать свертку через FFT и накапливать правильные отсчеты а неправильные отбрасывать, то есть применять overlap-save? В чем проблема здесь ? Мне не совсем понятно почему таки применяют разные перекрытия и сложение, а не overlap-save с перекрытием IRLen - 1?
  7. Вот здесь я немножко начинаю путаться( То есть если внимательно читать про перекрытие с накоплением то нужны блоки длиной N, при этом N >= N2 и N >= N1. Таким образом блок перекрывается с предыдущим в N - N2 отсчетах. Выход цифрового фильтра представляет собой последовательные циклические N-точечные свертки блоков входного сигнала с блоками длины N, получившимися путем добавления N-N1 нулей к импульсной характеристике. Далее часть отсчетов ошибочных отбрасывается а остальные накапливаются в соответствующем интервале выходного сигнала. Это я упрощенно цитирую Нуссбаумера. В нашем же случае длина блока равна длине импульсной характеристики. И чем это плохо для применения алгоритма перекрытия с накоплением. Почему именно длина перекрытия должна быть не менее длины импульсной характеристики фильтра? Это не совсем укладывается в голову( andyp я прилагаю книжку Нуссбаумера в zip архиве в формате djvu. Если интересно пробегите раздел по цифровой фильтрации, использующей циклическюу свертку начиная со страницы 34. Там немножко. Я наверняка что то упускаю что Вы сразу обнаружите... Огромное спасибо за статью! Прочитаю обязательно и внимательно. Спасибо Вам большое! В общих чертах что то проясняется, но к сожалению еще не достаточно хорошо знаю теоретические основы. То есть смещение более чем на один отсчет от начала блока это прореживание по частоте ? Насколько я помню децимация вынуждает нас применять ФНЧ. К сожалению с полифазными фильтрами не имел дела поэтому трудно что то ответить. Еще раз спасибо! NFFTC.zip
  8. Здравствуйте ! Занимаясь шумоподавлением для звукового сигнала и применяя покадровую обработку понял что не достаточно хорошо понимаю метод суммирования с перекрытием при восстановлении очищенного от шума сигнала. Хотел бы проконсультироваться, но предварительно опишу то что сам понимаю и надеюсь что выплывут ошибки и недочеты моего понимания. Для шумоподавления я применяю метод спектрального вычитания, что аналогично применению фильтра в спектральной области с некоторой передаточной функцией. То есть очередной кадр с помощью кратковременного преобразования Фурье(с применением взвешивающего окна) преобразуется в спектральную область а дальше производится вычитание усредненного спектра шума и обратное преобразование во временную область. Кадры берутся с некоторым перекрытием. Затем полученный временной кадр очищенного сигнала суммируется с перекрытием с уже ранее очищенным участком сигнала. Насколько я понимаю данная процедура должна быть технически аналогична ситуации когда имеется входная последовательность квазибесконечная и импульсная характеристика фильтра через который эта последовательность пропускается, достаточно короткая по сравнению с длиной входной последовательности. В этом случае принято применять так называемую секционированную свертку. Она основана на том что входная последовательность обрабатывается блоками. При этом чаще всего применяется алгоритмы свертки с использованием БПФ. То есть циклические свертки. Я нашел в литературе два предлагаемых варианта: (книжка Г. Нуссбаумер Быстрое преобразование Фурье и алгоритмы вычисления сверток) 1. Алгоритм перекрытия с суммированием. 2. Алгоритм перекрытия с накоплением. В первом алгоритме входная последовательность разбивается на смежные (а не перекрывающиеся) блоки и свертка с ИХ фильтра производится при помощи циклического алгоритма свертки при этом последовательности дополняются нулями до некоторого размера N >= N1 + N2 - 1. N1 - длина последовательности, представляющей импульсную характеристику, N2 - длина кадра входной последовательности. Таким образом получаем результат циклической свертки который перекрывается со следующим блоком в N - N2 отсчетах. При суммировании перекрытий получаем результирующую последовательность. Во втором алгоритме блоки изначально берутся перкрывающимися и над каждым блоком выполняется циклическая свертка. Затем первые N - N1 членов циклической свертки отбрасываются а остаются только N - N1 + 1 членов. Здесь никакого суммирования вообще не происходит. То есть последовательность выходная строится из смежных блоков правильных отсчетов. Более того в книге утверждается что этот вариант алгоритма предпочтительнее чем первый. В случае же обработки которую рекомендуют в статьях о шумоподавлении применяется алгоритм блочной обработки который не принадлежит ни к одному из типов обработки, описанных выше. Хотя по идее любая обработка кадра входного сигнала в спектральной области - это применение фильтра с некоторой импульсной характеристикой преобразованной в частотную область (то есть передаточной функцией). И, поскольку длина кадра фиксированная, фиксированной надо полагать и эту самую импульсную характеристику. То есть можно применять один из алгоритмов описанных выше?? Но видимо не все так просто. Теперь об оконном преобразовании Фурье и алиасинге. Алиасинг сколько я понимаю - это перетекание высокочастотных компонентов спектра в низкочастотные с отражением от середины при недостаточной частоте дискретизации. (поправьте если не прав) Оконное преобразование применяется для того чтобы в спектр попали частоты из среднего участка кадра и спектр не был бы искажен из за разрыва сигнала на границах блоков ? Я правильно понимаю ? При этом перекрытие как утверждается определяет уровень алиасинга. Вот тут я совершенно плохо понимаю как это взаимосвязано. Буду рад любой информации и подсказке где почитать о подобной обработке блоков с перекрытием.
  9. Спасибо за развернутый ответ! Похоже понял теперь, вся суть разных способов построения винеровской фильтрации в разных способах оценки СПМ кросс-спектра сигнала и помехи. Жаль только что в статье не отражен их способ нахождения оценок СПМ при классической винеровсокой фильтрации
  10. Моя версия такова, что оценка по Винеру строится путем предварительного анализа всего файла сигнала и усреднения спектра мощности покадрово...
  11. Спасибо ! Я в данный момент провожу эксперименты с сигналом, представляющим из себя несколько синусоид с добавленным аддитивным шумом (белый шум классический). Если брать окна с перекрытием обеспечивающим константу при их суммировании то паразитной амплитудной модуляции не возникает. Но я подозреваю что это потому что беру именно смесь синусоид а не речь? Или же при перекрытии, не обеспечивающем константу нужно как - то еще дополнительно обрабатывать сигнал? Я читал на одном из форумов рекомендацию накладывать окно и после обратного FFT для кадра, но при этом в моем случае получилась очень сильная паразитная амплитудная модуляция. Мне думается что многое зависит от производимых над спектром кадра преобразований до обратного перехода во временную область. И еще хотел бы проконсультироваться по одной английской статье которую прилагаю. Там как раз идет речь о спектральном вычитании и фильтрации по Винеру. Но не совсем понятно чем у них чем первое отличается от второго, хотя после объяснений andy я стал понимать лучше. Надо полагать что они делают усреднение некоторое зашумленного сигнала от кадра к кадру и оценивают его спектр мощности. В общем прилагаю статью... Буду рад любым комментариям! 1_s2.0_S1877050916300758_main.pdf
  12. Спасибо Вам большое! Книгу скачиваю уже. Еще интересный вопрос возник в связи с встречающимися мнениями что перекрытие окон можно брать разным в том числе и больше 50 %. Но ведь в этом случае сумма перекрывающихся окон на интервалах перекрытия не даст константу и, по идее, появится паразитная амплитудная модуляция. Я наверное что - то упускаю в своих рассуждениях ?
  13. Здравствуйте! Вопрос, который мне необходимо решить, уже поднимался наверное не раз и не два, но я нигде не нашел некоторых нюансов, которые и хотел бы выяснить. Решаю задачу шумоподавления для речевого сигнала при известном слепке шума. На данный момент применил метод спектрального вычитания. 1. Разбиваю сигнал на перекрывающиеся кадры. (Перекрытие 50%) 2. Для очередного кадра применяю оконное преобразование с окном Ханна. 3. Оставляю только речевую полосу частот (300 - 3400 Гц.) 4. Произвожу сглаживание полученного спектра (S(f, t) = S(f, t-1) + a*(X(f, t) - S(f, t -1)) для подавления "музыкальных" искажений. где S(f, t) - результирующий сглаженный спектр, S(f, t - 1) - сглаженный спектр при обработке предыдущего кадра, X(f, t) - спектр текущего кадра. 5. Вычитаю из получившегося спектра очередного кадра сигнала спектр слепка шума, усредненный по количеству полных кадров шума в слепке. 6. Произвожу обратное преобразование Фурье для полученного спектра кадра. 7. Накладываю полученный временной кадр сигнала на конечный буфер методом сложения с перекрытием. Помимо спектрального вычитания при шумоподавлении можно применять фильтрацию по Винеру. И я встречал упоминания подобного алгоритма покадровой обработки но с применением фильтра Винера. Насколько я понимаю в пределах кадра сигнал и шум можно считать стационарными случайными процессами (шум в принципе в моей постановке задачи стационарный случайный процесс). Тогда передаточная характеристика фильтра Винера HW(f)= (Psn(f) - Pn(f)) / Psn(f), где Psn(f) спектр мощности смеси сигнала и шума, Pn(f) - спектр мощности шума. А дальше я не понимаю точно как применять построенную передаточную характеристику фильтра Винера. Если прямо умножать компоненты спектра зашумленного сигнала на передаточную характеристику на данной частоте, то это будет полной аналогией спектральному вычитанию в то время как в статье английской прямо говорится что фильтрация по Винеру отличается от спектрального вычитания. Сталкивался ли кто-нибудь с применением фильтрации по Винеру в принципе? Именно с применением на практике.
×
×
  • Создать...