RU2239867C2 - Устройство, способы и компьютерные программные продукты для определения коэффициентов функции с уменьшенной задержкой - Google Patents
Устройство, способы и компьютерные программные продукты для определения коэффициентов функции с уменьшенной задержкой Download PDFInfo
- Publication number
- RU2239867C2 RU2239867C2 RU2001132151/09A RU2001132151A RU2239867C2 RU 2239867 C2 RU2239867 C2 RU 2239867C2 RU 2001132151/09 A RU2001132151/09 A RU 2001132151/09A RU 2001132151 A RU2001132151 A RU 2001132151A RU 2239867 C2 RU2239867 C2 RU 2239867C2
- Authority
- RU
- Russia
- Prior art keywords
- coefficient
- sample
- coefficients
- function
- samples
- Prior art date
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
Изобретение относится к определению коэффициентов функции. Его использование при определении коэффициентов функции, представляющей входной сигнал, позволяет получить технический результат в виде снижения задержки этого определения. Устройство содержит средство ввода и генератор коэффициентов. Технический результат достигается благодаря тому, что генератор коэффициента содержит первое логическое средство, предназначенное для генерирования сигнала, представляющего вклад в коэффициент функции значения выборки, предназначенной для вычисления того, как генератор коэффициента получит последнюю выборку, и второе логическое средство, соединённое с первым логическим средством и предназначенное для генерирования части функции на основе номера выборки и номера коэффициента, полученных вторым логическим средством. При этом генератор коэффициента выполнен таким образом, что второе логическое средство передаёт часть функции, соответствующую выборке и номеру коэффициента, на первое логическое средство, которое умножает значение выборки на соответствующую часть функции. 2 н. и 52 з.п.ф-лы, 16 ил.
Description
ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение, в общем, относится к определению коэффициентов функции. В частности, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением относятся к определению коэффициентов функции, представляющей входной сигнал, по мере прихода каждой выборки сигнала для уменьшения задержки при определении коэффициентов.
ПРЕДПОСЫЛКИ ИЗОБРЕТЕНИЯ
Обработка сигнала представляет собой важную функцию во многих электронных системах. В частности, во многих электронных системах данные передают в форме сигнала. Кроме того, в некоторых электронных системах производится анализ и отслеживание работы механических или химических систем путем наблюдения за характеристиками сигналов, таких как сигналов вибрации и других типов сигналов, которые поступают на выход этих систем. В этом отношении были разработаны способы для определения характеристик сигналов, в которых информация или данные, содержащиеся в сигнале, становятся доступными для способов обработки данных.
Например, во многих электронных системах сигналы временного интервала перед обработкой сигнала обычно преобразуются в частотный интервал. Обычный способ преобразования сигналов в частотный интервал выполняется с использованием преобразования Фурье. Преобразование Фурье сигнала основано на множестве выборок сигнала с временной задержкой, которые отбираются в течение выбранного периода времени, известного как опорная частота. На основе этих выборок сигнала с помощью преобразования Фурье становится возможным получить множество коэффициентов, где коэффициенты, соответственно, представляют амплитуду частоты, кратной основной частоте. Коэффициенты преобразования Фурье, которые представляют сигнал в интервалах частот, затем используют в электронных системах при обработке сигнала.
Хотя преобразование Фурье представляет собой одну из наиболее широко используемых функций обработки сигналов, существуют другие функции, которые используются в настоящее время либо будут использоваться в будущем по мере осознания лучшего понимания их применимости. Эти функции включают функции Бесселя, полиномы Лежандра, полиномы Чебышева первого и второго порядка, полиномы Якоби, обобщенные полиномы Лагерра, полиномы Эрмита, полиномы Бернулли, полиномы Эйлера и различные матрицы, используемые среди прочих в квантовой механике, функциях линейного анализа, импульсном анализе и фрактальном анализе.
Хотя преобразование Фурье и другие функции, указанные выше, полезны при определении характеристик сигналов для использования при обработке данных, при их использовании существует ряд недостатков. В частности, применение этих функций для сигналов обычно связано с необходимостью использования интенсивных вычислений. Это является недостатком, поскольку может потребовать использовать для выполнения обработки данных специализированные процессоры. Кроме того, что еще более важно, время, требуемое для выполнения ряда вычислений, используя эти функции, может вызвать неприемлемую задержку для многих приложений, связанных с обработкой данных. Фактически целью многих систем обработки данных является способность обработки сигналов данных в режиме реального времени, без задержки.
Например, ряд Фурье определяется как бесконечный ряд коэффициентов, представляющих сигнал. Для преобразования сигнала с использованием ряда Фурье потребуется бесконечное количество вычислений. Для решения этой проблемы во многих обычных системах обработки данных вместо бесконечных рядов Фурье используется дискретное преобразование Фурье (ДПФ) (DFT). ДПФ представляет собой цифровую аппроксимацию ряда Фурье и используется для обработки аналоговой информации, преобразованной в цифровую форму. Важно, что ДПФ заменяет бесконечные ряды в рядах Фурье на конечный набор N равномерно распределенных выборок, которые отбираются в течение конечного периода времени. Вычисления с помощью ДПФ, поэтому, позволяют получить определенное количество коэффициентов по мере приема выборок, вместо необходимости использования бесконечного количества выборок при использовании рядов Фурье. Использование ДПФ обеспечивает наиболее удовлетворительное современное средство для обработки сигнала.
Однако ввиду важности сокращения времени, требуемого для обработки сигналов, были разработаны способы дополнительного снижения объема вычислений, требуемых для выполнения ДПФ сигнала. В частности, процедура ДПФ вычисляет каждый коэффициент с помощью аналогичного процесса. Процесс для общего коэффициента представляет собой: перемножение каждой выборки на синус или косинус нормализованной величины независимой переменной, умноженной на угловую скорость, и суммирование по всем выборкам. Эта процедура определяет N этапов перемножения-сложения для каждого из N коэффициентов, что составляет N2 вычислений перемножения-сложения при ДПФ. Поскольку обычно требуется использовать множество выборок для получения адекватной аппроксимации сигнала, ДПФ сигнала обычно требует интенсивных вычислений и значительного времени.
Один из способов, разработанных для снижения количества вычислений, представляет собой способ "бабочка", который снижает количество вычислений с N2 до N × log(N). Способ "бабочка" основан на том факте, что многие тригонометрические значения ДПФ совпадают, благодаря периодичности функций. Как таковой способ "бабочки" уменьшает матрицу, связанную с ДПФ до N/2 двухточечных преобразований (то есть, преобразований, представляющих каждый коэффициент аn и bn). Способ "бабочка" дополнительно снижает избыточные тригонометрические значения ДПФ. Хотя способ "бабочка" уменьшает количество вычислений по сравнению с более традиционным способом ДПФ, он также усложняет преобразование Фурье сигнала. В частности, способ "бабочка" использует сложный способ адресации выборок сигнала и матрицы, содержащей функции. Эта сложность может потребовать использования специализированных процессоров и увеличивает время вычислений, связанных с преобразованием Фурье. По своей природе способ "бабочка" представляет собой процесс пакетной обработки, в котором определение коэффициентов не начинается до тех пор, пока не будут приняты все выборки. Как описано ниже, этот способ создает задержку в определении коэффициентов функции.
Дополнительная проблема, связанная с ДПФ, состоит в том, что кроме множества требуемых вычислений значение каждого коэффициента ДПФ представляет собой функцию всех выборок сигнала. Поэтому ни один из коэффициентов ДПФ не может быть определен до тех пор, пока не будут обработаны все выборки. Значения всех коэффициентов могут быть определены только после того, как будет принята последняя выборка набора. При этом время между приходом последней выборки и доступностью коэффициентов обозначается как задержка системы. Если время для обработки коэффициентов больше, чем время для сбора набора выборок, система не может работать в режиме реального времени.
Хотя ни один из коэффициентов не будет определен до тех пор, пока все выборки не будут приняты, ДПФ имеет предпочтительное свойство, которое не учитывалось в известном уровне техники. Это свойство представляет собой независимость выборок. В наборе выборок, преобразуемых в процессе ДПФ, каждая выборка производит вклад в каждый коэффициент только на основе синуса или косинуса соответствующего угла. Это представлено в Приложении 1. В частности, каждый из коэффициентов ДПФ (то есть, А0, А1, А2,... и В0, B1, B2,...), представляет собой сумму наложения каждой выборки на функции синуса и косинуса, связанные с каждым коэффициентом. Например, коэффициент А1 представляет собой сумму A11 + A12 +... A18, которые представляют собой наложение каждой выборки на функцию косинуса, взаимосвязанную с коэффициентом А1. Поскольку каждая из выборок взаимосвязана с каждым коэффициентом с помощью сложения, каждая выборка является независимой от других выборок и может использоваться для обновления коэффициентов до приема других выборок.
Во многих обычных системах для преобразования Фурье сигнала этот аспект независимости выборок ДПФ не учитывается. В частности, в обычных системах, в которых используются ДПФ, обычно вначале принимается множество выборок N сигнала, и только после того, как все выборки будут приняты, система генерирует каждый из коэффициентов. При этом эти обычные системы имеют соответствующую задержку, равную времени, необходимому системе для вычисления каждого из коэффициентов, после того, как будет принята последняя выборка. Эта задержка может быть существенной. Например, если в обычная система определяется ДПФ, используя N=64 выборок, то количество вычислений составляет N2 или 4096. Для быстрого преобразования Фурье БПФ (FFT), это количество уменьшается до N х log(N) или 64 lоg(6), что равно 364.
В Приложении 1 представлен пример системы обработки данных, которая ожидает до тех пор, пока все выборки не будут приняты прежде, чем начнет определять коэффициенты ДПФ. Как можно видеть, система обработки данных, представленная в Приложении 1, вначале принимает восемь выборок сигнала перед началом вычисления любого из коэффициентов преобразования Фурье. Только после приема всех выборок система начинает вычислять коэффициенты. Поскольку задержка определяется как время между приемом последней выборки и моментом времени, когда коэффициенты становятся доступными, такая система обработки данных имеет задержку, равную времени, необходимому для выполнения всех вычислений коэффициентов. При этом такая система обработки данных не может использоваться для обработки данных в режиме реального времени. Поскольку обработка данных в режиме реального времени или обработка данных приблизительно в режиме реального времени являются предпочтительными для использования во многих системах обработки данных, было бы предпочтительно создать устройства и способы, в которых время, необходимое для выполнения преобразования сигналов, было бы сокращено.
В статье авторов N. Rama Murthy и M.N.S. Swamy под названием "К вопросу о вычислении ДПФ и ДКП (DCT дискретное косинусное преобразование) в режиме реального времени с использованием систолических архитектур, "IEEE Transactions on Signal Processing", том 42, номер 4, страницы 988-991 (апрель 1994 г.) описана система вычисления для определения ДПФ сигнала. Архитектура, предложенная в этой статье, принимает входные данные как поток данных и выводит данные в виде потока. Она также снижает количество граничных ячеек для вычислений. Однако, поскольку в ней до определения коэффициентов происходит ожидание до тех пор, пока не будут приняты все выборки, эта архитектура не обеспечивает снижение задержки при определении ДПФ.
Дополнительная проблема многих обычных систем обработки данных, таких как обработка типа "бабочка", состоит в том, что невозможно организовать независимое наблюдение за коэффициентами функции из-за сложности системы. Кроме того, поскольку система типа "бабочка" определяет коэффициенты с использованием пакетного способа вычислений, в отличие от режима реального времени, отдельные коэффициенты не могут наблюдаться и отслеживаться по мере приема новой выборки.
Поскольку способ пакетного анализа увеличивает задержку, в обычных системах необходимо использовать значительные объемы вычислений при обработке для наблюдения и отслеживания коэффициентов с течением времени.
Наблюдение и отслеживание отдельных коэффициентов сигнала являются предпочтительными для углубленного анализа сигнала.
Еще одна проблема во многих обычных системах обработки данных состоит в том, что эти системы обычно не позволяют изменять разрешающую способность отдельных коэффициентов функции. Например, система вычислений типа "бабочка" конфигурируется для вычисления каждого коэффициента так, что получается такое же количество коэффициентов, как и количество выборок. Это может быть недостатком в приложениях, в которых интерес представляет только один или подмножество коэффициентов, поскольку система типа "бабочка" будет тратить время и ресурсы для определения коэффициентов, представляющих меньшую важность, с той же разрешающей способностью, как и для важных коэффициентов. В связи с этим было бы желательно создать устройство и способы, которые позволяли бы отслеживать и наблюдать за отдельными коэффициентами, а также изменять разрешающую способность, с которой вычисляются отдельные коэффициенты.
КРАТКОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Как описано ниже, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением позволяет преодолеть множество недостатков, связанных с обработкой сигналов с использованием функций, такие как преобразование Фурье. В частности, настоящее изобретение направлено на устройство, способы и компьютерные программные продукты, которые определяют коэффициенты функции, представляющей входной сигнал, с уменьшенной задержкой, так, что коэффициенты функции становятся доступными в течение меньшего времени после приема последней выборки сигнала. Настоящее изобретение также направлено на устройство, способы и компьютерные программные продукты, которые уменьшают количество данных, которые должны сохраняться для определения коэффициентов функции, что позволяет использовать аппаратные средства менее сложной конФиг.ции. Кроме того, настоящее изобретение направлено на устройство, способы и компьютерные программные продукты, которые позволяют отслеживать и наблюдать отдельные коэффициенты, а также позволяют определять отдельные коэффициенты или поднаборы коэффициентов с различными уровнями разрешающей способности.
В частности, в одном из вариантов воплощения настоящее изобретение направлено на устройство, способы и компьютерные программные продукты, которые обновляют, по меньшей мере, один из коэффициентов функции перед приемом последней выборки сигнала, так, что коэффициенты функции могут быть определены с меньшей задержкой. Кроме того, в другом варианте воплощения устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением обновляют каждый из коэффициентов функции по мере приема каждой из выборок сигнала. Как указано выше, каждая из выборок сигнала влияет на коэффициенты функций независимо от других выборок. Независимая природа выборок позволяет перекомпоновать уравнения для каждого коэффициента так, что все воздействия от каждой выборки будут сгруппированы отдельно. Результат этого состоит в том, что воздействие каждой выборки может быть вычислено после приема выборки и затем добавлено к каждому коэффициенту.
В соответствии с этим в одном из вариантов воплощения настоящее изобретение содержит устройство для определения коэффициентов функции, представляющей входной сигнал, на основе заранее определенного множества выборок входного сигнала. Устройство в соответствии с настоящим изобретением содержит генератор коэффициента, который принимает каждую из выборок по одной и обновляет, по меньшей мере, один из коэффициентов функции до того, как будет принята последняя выборка.
В другом варианте воплощения устройство в соответствии с настоящим изобретением содержит генератор коэффициента, который принимает каждую из выборок по одной и обновляет коэффициенты функции на основании каждой выборки по мере приема выборки без ожидания приема всех выборок. Коэффициенты, таким образом, обновляются каждый раз до поступления следующей выборки. При этом, когда принимается последняя выборка, остается только вычислить вклад последней выборки в каждый коэффициент. Поэтому задержка от приема последней выборки до момента, когда будут доступны коэффициенты, уменьшается.
В еще одном варианте воплощения настоящего изобретения генератор коэффициента одновременно обновляет каждый из коэффициентов, используя выборку по мере ее приема. При этом, когда принимается последняя выборка, генератор коэффициента одновременно обновляет каждый из коэффициентов, и задержка между приемом последней выборки и доступностью коэффициентов существенно снижается.
Кроме того, для снижения задержки между приемом последней выборки и доступностью коэффициентов, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением также позволяют снизить требования к аппаратным средствам, необходимым для их воплощения. В частности, как описано, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением обновляют каждый из коэффициентов, с учетом вклада каждой выборки, по мере приема выборки. При этом не требуется сохранять выборку после того, как каждый из коэффициентов был обновлен, что уменьшает требуемый объем средства накопления информации.
Кроме того, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением также сокращают время для выполнения вычислений путем предварительных вычислений, по меньшей мере, части функций, связанных с каждым коэффициентом, и записи этих предварительно вычисленных значений в запоминающее устройство для использования при определении коэффициентов для данного сигнала. В частности, как указано выше и представлено в Приложении 1, каждая из выборок связана с каждым из коэффициентов тригонометрической функцией, где значение тригонометрической функции основано на коэффициенте и порядке приема выборки в множестве выборок. Поскольку коэффициент и порядок приема выборки известны заранее, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением позволяют заранее вычислить эту часть тригонометрической функции для каждой выборки и коэффициента. При этом, когда принимается каждая из выборок, генератор коэффициента в соответствии с настоящим изобретением должен только перемножить выборку на заранее вычисленное значение, взаимосвязанное с выборкой и коэффициентом.
В частности, в одном из вариантов воплощения настоящее изобретение содержит устройство, включающее генератор коэффициента, который содержит запоминающее устройство. В запоминающем устройстве записаны заранее вычисленные значения, представляющие математическую функцию, связанную с каждой выборкой и коэффициентом. В этом варианте воплощения настоящего изобретения при приеме выборки генератор коэффициента производит доступ к запоминающему устройству и перемножает выборку на значение, представляющее математическую функцию, связанную с выборкой и коэффициентом, чтобы, таким образом, определить компонент коэффициента. Генератор коэффициента затем обновляет коэффициент путем добавления компонента к предыдущему значению коэффициента.
В дополнительном варианте воплощения устройство, способы и компьютерные программные продукты могут записывать каждое из заранее вычисленных значений в запоминающее устройство, которое содержит матрицу, имеющую множество ячеек, где в каждой ячейке матрицы записано значение, представляющее математическую функцию, связанную с соответствующей выборкой и коэффициентом. Кроме того, в данном варианте воплощения каждая ячейка матрицы имеет уникальный адрес, который определяется соответствующим коэффициентом и выборкой. При этом для каждой выборки и коэффициента генератор коэффициента в данном варианте воплощения настоящего изобретения производит доступ к ячейке запоминающего устройства, используя адрес, взаимосвязанный с выборкой и коэффициентом, перемножает выборку на записанное значение, чтобы, таким образом, определить компонент коэффициента, и после этого обновляет коэффициент, прибавляя этот компонент к предыдущему значению коэффициента.
Кроме снижения требуемого количества вычислений благодаря предварительному вычислению функции, связанной с каждой выборкой и коэффициентом, в одном из вариантов воплощения, устройство, способ и компьютерный программный продукт в соответствии с настоящим изобретением также вычисляют все возможные значения величины выборки с тригонометрической функцией, связанной с каждым коэффициентом и выборкой. При этом при приеме выборки генератор коэффициента должен только произвести оценку значения выборки и найти заранее вычисленное значение, связанное со значением выборки и математической функции выборки и коэффициента из запоминающего устройства и использовать это заранее вычисленное значение для обновления коэффициента.
Например, в одном из вариантов воплощения настоящее изобретение содержит устройство, включающее генератор коэффициента с первым и вторым запоминающими устройствами. Первое запоминающее устройство содержит матрицу ячеек, в которой каждая ячейка связана с соответствующей выборкой и коэффициентом. Каждая ячейка содержит заранее вычисленное значение, соответствующее комбинации одного из конечного количества возможных значений выборки и математической функции, связанной с соответствующим коэффициентом и выборкой. Второе запоминающее устройство также содержит матрицу ячеек для записи маркеров. Каждый из маркеров представляет соответствующий коэффициент и выборку.
При работе, когда принимается выборка, генератор коэффициента производит доступ ко второму запоминающему устройству и для каждого коэффициента производит поиск маркера, связанного с коэффициентом и выборкой, и передает этот маркер в первое запоминающее устройство. Затем генератор коэффициента принимает значение выборки и на основе маркера из второго запоминающего устройства и значения выборки производит поиск заранее вычисленного значения, записанного в ячейке первого запоминающего устройства, которая содержит адрес, состоящий из маркера и значения выборки. Генератор коэффициента дополнительно обновляет коэффициент путем добавления заранее вычисленного значения первого запоминающего устройства к предыдущему значению коэффициента.
В другом варианте воплощения генератор коэффициента содержит умножитель, сумматор, делитель или другие управляемые функции вместо второго устройства накопления. В этом варианте воплощения маркеры передаются с помощью логического элемента в первое запоминающее устройство для адресации ячеек первого запоминающего устройства. В еще одном варианте воплощения производится декодирование значения счетчика с использованием или без использования логических элементов с получением маркеров для адресации второго запоминающего устройства, значения которого могут быть преобразованы в значения, подаваемые на умножитель, сумматор, делитель или другие управляемые функции, вместо запоминающего устройства.
Кроме снижения времени вычисления коэффициента на основе каждой выборки с помощью записи заранее вычисленных значений, настоящее изобретение также направлено на устройство, способы и компьютерные программные продукты, которые минимизируют количество значений, которые необходимо записывать в запоминающем устройстве, и размер маркера, необходимого для адресации первого запоминающего устройства. В частности, благодаря тригонометрической природе некоторых функций, некоторые из коэффициентов для определенных выборок будут иметь математическое значение, равное нулю. Поскольку тригонометрическая функция зависит от коэффициента и номера выборки, эти случаи могут быть заранее определены. Кроме того, поскольку значение для этих случаев равно нулю, нет необходимости обеспечивать запись для этих значений в первом запоминающем устройстве, благодаря чему снижается размер матрицы запоминающего устройства и размер маркера, необходимого для адресации первого запоминающего устройства.
В частности, в данном варианте воплощения настоящего изобретения маркер также указывает, равно ли нулю значение математической функции, связанной с соответствующей выборкой и коэффициентом. Когда принимается выборка, для которой тригонометрическая функция для данной выборки и коэффициента равна нулю, маркер, связанный с выборкой и коэффициентом, укажет на это. При этом, когда генератор коэффициента производит доступ к маркеру, связанному с выборкой и коэффициентом, генератор коэффициента проведет проверку маркера и обновление коэффициента путем добавления нуля к предыдущему значению коэффициента.
В некоторых вариантах воплощения генератор коэффициента дополнительно содержит устройство установки нуля, такое как цепь сброса. В данном варианте воплощения, если маркер указывает, что математическая функция равна нулю, устройство установки нуля заменяет выход первого запоминающего устройства на нулевое значение для сложения с коэффициентом.
Для дальнейшего уменьшения устройства накопления, в одном из вариантов воплощения, настоящее изобретение направлено на устройство, способы и компьютерные программные продукты, которые записывают только заранее вычисленные значения, соответствующие комбинации соответствующей выборки и величине соответствующей математической функции, без учета знака математической функции. В частности, благодаря периодической природе некоторых функций, некоторые математические функции, связанные с соответствующей выборкой и коэффициентами, имеют одинаковую величину, но различные знаки. В данном варианте воплощения настоящего изобретения в запоминающее устройство записывается только величина каждого значения. Кроме того, знак величины указывается в маркере. При этом требуется меньший объем памяти для накопления значений.
В одном из вариантов воплощения настоящего изобретения генератор коэффициента дополнительно содержит сумматор, электрически соединенный с выходом первого запоминающего устройства. Если маркер указывает, что математическая функция будет отрицательной, сумматор, используя двойное дополнение, придает отрицательное значение математической функции, поступающей на выход первого запоминающего устройства.
Как описано выше, настоящее изобретение определяет коэффициенты функции, представляющей сигнал, путем комбинирования каждой выборки при приеме с математической функцией, связанной с этой выборкой и коэффициентом. Кроме того, как описано выше, различные комбинации выборок и коэффициентов вычисляются заранее и записываются в адресуемом запоминающем устройстве. Обычно маркеры, которые содержат адреса ячеек запоминающего устройства, содержат биты, указывающие коэффициент, и биты, указывающие выборку. При нормальной работе маркеры и запоминающее устройство используются для определения коэффициентов функции, которая представляет сигнал; эти маркеры и запоминающее устройство также могут использоваться для определения коэффициентов инверсной функции сигнала. В частности, в одном из вариантов воплощения генератор коэффициента дополнительно содержит селектор, электрически подключающийся с логическому элементу, счетчику или второму запоминающему устройству, который используется для генерирования маркеров для адресации первого запоминающего устройства. Если необходимы коэффициенты для инверсной функции сигнала, селектор изменяет адрес, указываемый маркером, так, что маркер адресует ячейку первого запоминающего устройства, содержащую заранее вычисленную величину, представляющую инверсную математическую функцию сигнала.
Как описано выше, настоящее изобретение определяет коэффициенты функции, представляющей сигнал, путем комбинирования каждой принимаемой выборки с математической функцией, связанной с данной выборкой и коэффициентом. Кроме того, как описано выше, различные комбинации выборок и коэффициентов могут быть заранее вычислены и записаны в адресуемое запоминающее устройство или могут вычисляться с помощью управляемой функции со ссылкой на значения, связанные с маркером. Как правило, маркеры, которые адресуют ячейки запоминающего устройства, получают из информации о состоянии, получаемой из счетчика, указывающего коэффициент и выборку. При нормальной работе маркеры и запоминающее устройство используются для определения коэффициентов функции, которые представляют сигнал, причем эти маркеры и запоминающее устройство также могут использоваться повторно путем добавления битов к счетчику в определенных местах и, таким образом, обслуживать множество каналов. В данном варианте воплощения ячейки памяти для дополнительных коэффициентов содержат дополнительные коэффициенты, и на выход может быть подан номер канала для удобства пользователя. Также возможно использовать электрический сигнал для определения прямых коэффициентов или для определения инверсной функции на входе.
Далее при нормальной работе используются маркеры и запоминающее устройство для определения коэффициентов функций, которые представляют сигнал, причем эти маркеры и запоминающие устройства также могут использоваться повторно путем добавления битов к счетчику в определенных местах и, таким образом, обслуживать множество каналов. В данном варианте воплощения ячейки памяти дополнительного коэффициента могут содержать дополнительные коэффициенты, и для удобства пользователя может выводиться номер канала. Благодаря тому, что последовательные выборки обрабатываются как различные каналы, становится возможными, таким образом, производить чередующиеся преобразования. Чередующиеся преобразования могут быть отправлены во второй аналогичный процесс для получения, например, двухмерного преобразования.
В дополнительном варианте воплощения генератор коэффициента принимает выборки от множества различных сигналов по различным каналам. В данном варианте воплощения генератор коэффициента может подавать через селектор коэффициенты функции, представляющие один сигнал, передавая также коэффициенты инверсной функции другого сигнала.
Как указано выше, устройство, способы и компьютерные программные продукты, в соответствии с настоящим изобретением, обрабатывают множество выборок и генерируют коэффициенты функции на основе выборок. В одном из вариантов воплощения настоящего изобретения, после приема множества выборок устройство, способы и компьютерные программные продукты, в соответствии с настоящим изобретением, подают на выход сгенерированные коэффициенты, производят сброс коэффициентов, и вновь принимают выборки сигнала. В некоторых вариантах воплощения, однако, может быть предпочтительно генерировать и подавать на выход полный набор коэффициентов, по мере приема и обработки каждой новой выборки. Это обозначается, как преобразование Фурье со скользящей апертурой (ПФСА) (SAFT).
В данном варианте воплощения устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением не производят сброс каждого из коэффициентов в ноль после приема последней выборки множества выборок и подачи коэффициентов на выход. Вместо этого устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением заменяют первую выборку предыдущего множества выборок на следующую принятую выборку. Используя эту новую выборку, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением подают на выход следующий набор коэффициентов. При этом вместо генерирования набора коэффициентов для каждого "пакета" выборок, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением генерируют набор коэффициентов каждый раз при приеме новой выборки, обеспечивая, таким образом, новый набор коэффициентов для каждой принимаемой новой выборки.
Настоящее изобретение направлено на несколько устройств, способов и компьютерных программных продуктов, предназначенных для генерирования набора коэффициентов, каждый раз при приеме новой выборки. В каждом из этих вариантов воплощения устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением замещают первую выборку предыдущего множества выборок следующей принятой выборкой и затем подают на выход новые коэффициенты. Например, в одном из вариантов воплощения устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением первоначально записывают каждую из выборок, по мере их приема, и генерируют первый набор коэффициентов, когда будет принята последняя выборка из множества выборок. Затем, когда будет принята новая выборка входного сигнала, после того, как заранее определенное множество выборок было уже принято, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением применяют к данной выборке математическую функцию, связанную с коэффициентами, и генерируют на основе новой выборки компонент для каждого коэффициента. Для замены новой выборки первой выборкой из множества выборок сгенерированный компонент новой выборки вычитают из компонента, связанного с первой выборкой заранее определенного множества выборок, которая была предварительно записана в запоминающем устройстве. После этого вычитания коэффициенты обновляются на разность между компонентами на основе новой выборки и первой выборки заранее определенного множества выборок.
В другом варианте воплощения настоящего изобретения для замены новой выборки на первую выборку множества выборок устройство, способ, и компьютерные программные продукты в соответствии с настоящим изобретением производят вычитание компонента, полученного на основе первой выборки заранее определенного множества выборок, из каждого из коэффициентов, и прибавляют компонент, полученный на основе новой выборки к каждому из коэффициентов.
Кроме вывода коэффициентов для каждой новой принятой выборки, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением также позволяют производить наблюдение и отслеживание поднаборов коэффициентов с течением времени. В частности, как указано выше, генератор коэффициента одного из вариантов воплощения подает на выход коэффициент для каждой новой выборки. Это предоставляет пользователю новый набор коэффициентов в режиме реального времени или в режиме, близком к режиму реального времени для наблюдения.
Кроме того, как описано выше, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением обновляют каждый из коэффициентов функции по мере приема каждой из выборок. Поскольку коэффициенты обновляются индивидуально, они являются более доступными индивидуально для наблюдения. Кроме того, поскольку каждый коэффициент обновляется индивидуально, количество обновлений, выполненных для каждого индивидуального коэффициента, может изменяться. При этом в одном из вариантов воплощения, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением позволяют изменять разрешающую способность, для которой определены один или поднабор коэффициентов путем изменения количества выборок, по которым они были обновлены по отношению к другим коэффициентам.
Кроме того, настоящее изобретение также направлено на способы и компьютерные программные продукты для снижения количества значений, которые необходимо записывать для представления возможных математических компонентов функции. В частности, как указано выше, время для выполнения вычислений может быть сокращено путем предварительного вычисления и записи части или всех значений, связанных с системой. Однако часто требуется уменьшить количество значений, которые должны записываться до минимума, так, чтобы можно было использовать стандартные запоминающие устройства.
В одном из вариантов воплощения настоящее изобретение направлено на способы и компьютерные программные продукты, которые первоначально генерируют первый список всех возможных математических компонентов функции. Для каждого математического компонента способ и компьютерный программный продукт систематически сравнивает каждый математический компонент в списке со всеми другими математическими компонентами в списке для определения, какие из математических компонентов являются избыточными. Затем уникальные математические компоненты функции записывают во второй список всех уникальных математических компонентов функции, так, что во втором списке отсутствуют излишние математические компоненты функции.
В одном из вариантов воплощения настоящего изобретения функция является, по меньшей мере, периодической или реверсивной так, что некоторые из математических компонентов функции имеют ту же величину и различные знаки. В данном варианте воплощения способ и компьютерный программный продукт в соответствии с настоящим изобретением производит сравнение значения величины каждого математического компонента в списке с величиной каждого другого математического компонента в списке для определения, какой из математических компонентов имеет такую же величину. Кроме того, математические компоненты, имеющие уникальные величины, записывают во второй список. Способ и компьютерный программный продукт в соответствии с настоящим изобретением дополнительно содержит создание маркера, связанного с каждым математическим компонентом, где маркер указывает на значение, записанное во втором списке, связанное с математическим компонентом, и знак, связанный с математическим элементом.
В другом варианте воплощения настоящего изобретения, по меньшей мере, один из математических компонентов имеет величину, равную нулю. В данном варианте воплощения способ и компьютерный программный продукт создают маркер, связанный с математическим компонентом, указывающий, что математический компонент равен нулю, так что математический компонент не будет записываться во второй список.
В другом варианте воплощения функция представляет сигнал и определяется с помощью выборок сигнала, где выборка сигнала представляет собой одно из конечного множества возможных значений. В данном варианте воплощения способ и компьютерный программный продукт генерирует первый список всех возможных комбинаций возможных значений выборки и математические компоненты функции. Кроме того, каждая комбинация в списке систематически сравнивается со всеми другими комбинациями в списке для определения того, какие из комбинаций являются избыточными. На основе этого сравнения все уникальные комбинации записываются во второй список, так, что во втором списке не содержится избыточных комбинаций.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 изображает блок-схему устройства для определения коэффициентов функции, представляющей входной сигнал на основе выборки входного сигнала, используя логические элементы в соответствии с одним из вариантов воплощения настоящего изобретения.
Фиг. 2 изображает блок-схему операций, выполняемых для определения коэффициентов функции, представляющих входной сигнал на основе выборки входного сигнала в соответствии с одним из вариантов воплощения настоящего изобретения.
Фиг. 3 изображает блок-схему устройства для определения коэффициентов функции, представляющей входной сигнал, на основе выборки входного сигнала, используя, по меньшей мере, одно запоминающее устройство в соответствии с одним из вариантов воплощения настоящего изобретения.
Фиг. 4 изображает блок-схему операций, выполняемых для уменьшения значений, которые должны записываться для представления возможных математических компонентов функции в соответствии с одним из вариантов воплощения настоящего изобретения.
Фиг. 5 изображает графическое представление графика коэффициентов, определенных с использованием преобразования Фурье.
Фиг. 6 изображает блок-схему операций, выполняемых для создания таблицы маркеров, где каждый маркер представляет значение функции в соответствии с одним из вариантов воплощения настоящего изобретения.
Фиг. 7 изображает блок-схему операций, выполняемых для создания таблицы адресуемых значений в соответствии с одним из вариантов воплощения настоящего изобретения.
Фиг. 8 изображает блок-схему операций, выполняемых для поиска значений из таблицы на основе маркеров в соответствии с одним из вариантов воплощения настоящего изобретения.
Фиг. 9 изображает блок-схему устройства для определения коэффициентов функции, представляющей входной сигнал, на основе выборки входного сигнала, используя запоминающие устройства и логические элементы в соответствии с одним из вариантов воплощения настоящего изобретения.
Фиг. 10 изображает блок-схему операций, выполняемых для определения коэффициентов функции, представляющей входной сигнал на основе выборки входного сигнала, используя запоминающее устройство и логические элементы в соответствии с одним из вариантов воплощения настоящего изобретения.
Фиг. 11 изображает блок-схему устройства для определения коэффициентов функции, представляющей входной сигнал, на основе множества выборок входного сигнала в соответствии с одним из вариантов воплощения настоящего изобретения.
Фиг. 12 изображает блок-схему операций, выполняемых для определения коэффициентов функции, представляющей входной сигнал, на основе множества выборок входного сигнала в соответствии с одним из вариантов воплощения настоящего изобретения.
Фиг. 13 изображает блок-схему устройства для определения коэффициентов функции, представляющей входной сигнал, на основе множества выборок входного сигнала, используя запоминающее устройство и логические элементы в соответствии с одним из вариантов воплощения настоящего изобретения.
Фиг. 14 изображает блок-схему операций, выполняемых для определения коэффициентов функции, представляющей входной сигнал, на основе множества выборок входного сигнала, используя запоминающее устройство и логические элементы в соответствии с одним из вариантов воплощения настоящего изобретения.
Фиг. 15 изображает блок-схему устройства для определения коэффициентов функции, представляющей входной сигнал, на основе множества выборок входного сигнала, используя запоминающее устройство и логические элементы, где для каждой принятой выборки на выход подается набор коэффициентов в соответствии с одним из вариантов воплощения настоящего изобретения.
Фиг. 16 изображает блок-схему операций, выполняемых для определения коэффициентов функции, представляющей входной сигнал, на основе множества выборок входного сигнала, используя запоминающее устройство и логические элементы, где для каждой принятой выборки на выход подается набор коэффициентов в соответствии с одним из вариантов воплощения настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Настоящее изобретение будет далее более полно описано со ссылкой на прилагаемые чертежи, на которых изображены предпочтительные варианты воплощения настоящего изобретения. На всех чертежах одинаковые ссылки обозначают одинаковые элементы.
Как описано выше, ранее были разработаны системы обработки данных для определения коэффициентов функции, которая представляет сигнал. Однако, поскольку многие из этих систем являются сложными и не вычисляют коэффициенты до тех пор, пока не будут приняты все выборки сигнала, эти системы не обеспечивают возможность немедленного анализа сигнала. Кроме того, поскольку эти системы преобразования являются сложными, невозможно осуществить непосредственный доступ к отдельным коэффициентам для наблюдения и отслеживания. Кроме того, эти системы не позволяют изменять разрешающую способность отдельного коэффициента или выбранных поднаборов коэффициентов.
Настоящее изобретение, с другой стороны, направлено на устройство, способы и компьютерные программные продукты, которые могут уменьшить задержку определения коэффициентов функции, представляющей сигнал. В частности, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением, используя преимущества независимости выборок, обновляют, по меньшей мере, один из коэффициентов перед тем, как будет принята последняя выборка, так, что задержка при определении коэффициентов сокращается.
Кроме того, в другом варианте воплощения, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением обновляют каждый из коэффициентов функции по мере приема каждой из выборок. При этом, когда принимается последняя выборка, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением должны обновлять каждый из коэффициентов с использованием только вклада последней выборки перед тем, как коэффициенты будут поданы на выход. При этом сокращается задержка с момента приема последней выборки и до момента доступности коэффициентов.
Для дальнейшего сокращения задержки в одном из вариантов воплощения устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением производят предварительную запись всех или части возможных значений вклада выборки на каждый коэффициент. При этом, когда производится прием выборки, и в особенности последней выборки, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением производят оценку значения выборки и производят поиск соответствующего значения из заранее записанных значений, которые соответствует коэффициенту, выборке и значению выборки, уменьшая, таким образом, время, необходимое для определения коэффициентов. Кроме того, в другом варианте воплощения устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением одновременно обновляют каждый из коэффициентов. Кроме того, когда производится прием последней выборки, коэффициенты обновляются одновременно с учетом вклада последней выборки, и все коэффициенты подаются на выход.
Устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением также позволяют наблюдать за отдельными коэффициентами или поднаборами коэффициентов, а также позволяют определять отдельные коэффициенты или поднаборы коэффициентов при переменных значениях разрешающей способности. В частности, как указано выше, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением обновляют каждый из коэффициентов, по мере приема каждой из выборок. При этом каждая выборка является доступной для вывода, если это необходимо. Кроме того, поскольку устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением обновляют каждый коэффициент, независимо от других коэффициентов, каждый коэффициент может обновляться с различной разрешающей способностью. Например, один коэффициент, который представляет интерес, может обновляться с каждой выборкой, в то время как другие коэффициенты обновляются только с каждой третьей выборкой.
Устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением также могут уменьшить количество и размеры необходимых аппаратных средств для построения системы обработки. В частности, как указано выше, когда производится прием выборки сигнала, устройство, способы и компьютерные программные продукты, в соответствии с настоящим изобретением, немедленно обновляют каждый из коэффициентов, учитывая вклад выборки. Поскольку выборки являются независимыми друг от друга, больше нет необходимости сохранять выборку после того, как коэффициенты будут обновлены ее вкладом, при этом данную выборку можно отбросить. Благодаря удалению выборки после использования, системе обработки не требуются дополнительные средства накопления в виде запоминающих устройств для записи выборок или дополнительная обработка для поиска данных.
Настоящее изобретение также направлено на способы и компьютерные программные продукты, предназначенные для уменьшения количества значений, которые должны быть записаны для представления возможных математических компонентов функции. В частности, способ и компьютерный программный продукт в соответствии с этим вариантом воплощения настоящего изобретения сравнивают каждый из возможных математических компонентов функции с другими математическим компонентами. Благодаря этому сравнению способ и компьютерные программные продукты уменьшают количество значений, которые необходимо записывать. Например, в одном из вариантов воплощения математическая функция может быть периодической, так, что различные значения функции могут иметь одинаковую величину, но различные знаки. В этом случае, способ и компьютерный программный продукт в соответствии с настоящим изобретением будут записывать только величины элементов, и использовать маркер для представления знака. В другом варианте воплощения могут использоваться величины функции, которые равны нулю (например, cos (π/2) и sin(π=0). В этом варианте воплощения способ и компьютерные программные продукты не записывают значения, равные нулю, но вместо этого используют маркер, представляющий, что значение равно нулю.
Для иллюстрации различные устройства, способы и компьютерные программные продукты в соответствии настоящим изобретением представлены, как описано ниже, совместно с характеристиками ряда Фурье. Должно быть очевидно, однако, что устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением могут использоваться с множеством различных типов функций.
Например, устройство, способы и компьютерные программные продукты могут использоваться с таким функциями, как функции Бесселя, полиномы Лежандрае, полиномы Чебышева первого и второго порядка, полиномы Якоби, обобщенные полиномы Лагерра, полиномы Эрмита, полиномы Бернулли, полиномы Эйлера и различные матрицы, используемые в квантовой механике, функциях линейного анализа импульсного анализа и фрактального анализа. Этот список не является исчерпывающим и приведен здесь просто как пример. Этот подход может применяться к любой из функций, которые могут быть выражены как последовательность значений. Польза от применения этих и других функций, не указанных в приведенном ниже списке, является вполне обобщенной. Данный способ обеспечивает возможность разработки устройства и способов для параллельных вычислений и устраняет избыточность в корне, а также является совместимым с машинной обработкой. Один из вариантов воплощения настоящего изобретения может представлять собой программу компьютера общего назначения, предназначенную для анализа каждого класса проблем и с написанием минимальной программы исполнения или с применением аппаратного средства для выполнения этой же функции. В данном варианте воплощения он представляет собой средство программирования.
Как указано выше со ссылкой на Приложение 1, важной концепцией настоящего изобретения является независимость используемых выборок для определения коэффициентов функции. Независимость выборок может быть проиллюстрирована в контексте преобразования Фурье. Преобразование Фурье основано на принципе ортогональности. Поскольку преобразование Фурье применяется в ДПФ, оно направлено на средство совершенно независимой оценки амплитуды компонентов каждой частоты сигнала. Используемые при вычислениях частоты представляют собой последовательные произведения на целое число основной частоты. Основная частота представляет собой период времени, требуемый для отбора одного набора выборок. Выборки сигнала перемножаются на каждый компонент набора ортогональных функций и суммируются в течение одного или множества циклов основной частоты. Каждый полученный в результате коэффициент представляет собой амплитуду реальной или мнимой части одной проверяемой частоты. Важно отметить, что вычисления коэффициента являются независимыми от вычислений других коэффициентов. В наборе выборок N, которые преобразуются с помощью ДПФ, каждая выборка вносит определенный вклад в каждый коэффициент функции на основе либо синуса, либо косинуса угла приложения и констант нормализации. Общие уравнения для дискретного преобразования Фурье приведены ниже
В Приложении 1 приведено определение коэффициента функции, используя обычное ДПФ. Первоначально ДПФ принимает заранее выбранный набор выборок сигнала (в данном примере N=8), затем ДПФ один раз вычисляет все коэффициенты, (А0, A1, А2, А3, А4, B1, В2, В3 и B4). Значение каждой выборки используется один раз при вычислениях коэффициентов. Каждая выборка перемножается как на синус, так и на косинус независимой переменной, связанной с каждым коэффициентом, и умножается на нормализованный коэффициент. Например, коэффициент А1 представляет собой сумму A11+А12+...A18, которые являются наложением каждой выборки на функцию косинуса, связанную с коэффициентом A1. Поскольку каждая из выборок связана с каждым коэффициентом с помощью сложения, каждая выборка является независимой от других выборок и может использоваться для обновления коэффициентов до приема других выборок.
Благодаря этой независимости выборок устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением производят перестановку элементов, как показано в Приложении 2, так, что каждый из коэффициентов обновляется по мере приема каждой выборки сигнала. Это отличается от обычного способа в соответствии с Приложением 1, который является способом пакетной обработки и в котором требуется, чтобы все выборки были приняты прежде, чем будут вычислены коэффициенты. Как описано выше и подробно поясняется ниже, благодаря обновлению каждого из коэффициентов, по мере приема каждой выборки устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением позволяют уменьшить задержку при генерировании коэффициентов, позволяют отслеживать или наблюдать за отдельными коэффициентами и определять коэффициенты с различной разрешающей способностью.
На фиг. 1 представлен один из вариантов воплощения для определения коэффициентов функции, представляющей входной сигнал на основе выборок входного сигнала в соответствии со способом, представленным в Приложении 2. Устройство в соответствии с данным вариантом воплощения настоящего изобретения содержит генератор 10 коэффициента. Генератор коэффициента содержит приемник 12 для приема выборок входного сигнала. Генератор коэффициента также содержит первый логический элемент 14, электрически соединенный с приемником, и второй логический элемент 16, электрически соединенный с первым логическим элементом.
На фиг. 2 и в Приложении 2 представлена работа генератора коэффициентов. В данном представлении генератор коэффициентов генерирует коэффициенты на основе N=8 выборок сигнала. Для каждой выборки приемник принимает выборку сигнала и подает выборку на вход первого логического элемента 12. (См. этап 100). Для каждого коэффициента второй логический элемент принимает два значения: одно 18, представляющее номер коэффициента, и второе 20, представляющее номер выборки. На основе номера коэффициента и номера выборки второй логический элемент генерирует часть ортогональной функции сигнала (см. этап 110).
Например, как показано в Приложении 2, для нулевого коэффициента АО добавляется значение выборки для коэффициента (то есть, А0+A01). Для первой выборки и коэффициента A11 ортогональная функция представляет собой
cos (2πCnSn/N),
где Сn=номер коэффициента;
Sn=номер выборки;
N=количество выборок.
Для вычисления компонента для первого коэффициента и первой выборки второй логический элемент принимает номер 18 коэффициента и номер 20 выборки. На основании этого для первой выборки Sn и первого коэффициента Cn второй логический элемент генерирует функцию cos(2π-1·1/8) или соз(2π/8) и подает это значение на первый логический элемент (см. этап 110).
Первый логический элемент, в свою очередь, принимает значение от второго логического элемента и значение выборки от приемника. На основе этих значений первый логический элемент генерирует компонент, представляющий вклад выборки в коэффициент (то есть, S1 cos (2π/8) (см. этап 120). Этот компонент затем добавляют к коэффициенту А1, (то есть, А1+A11) (см. этап 130). Это повторяется для каждого коэффициента (см. этапы 140 и 150).
Приведенное выше описание иллюстрирует обновление каждого коэффициента по одному для каждой выборки. Однако следует понимать, что генератор коэффициента может обновлять только один из коэффициентов перед приемом последнего коэффициента и, таким образом, уменьшается задержка при определении коэффициентов. Кроме того, следует понимать, что генератор коэффициентов может обновлять все коэффициенты для каждой выборки одновременно. Например, генератор коэффициентов может содержать множество из первого и второго логического элемента так, что все они подключены к приемнику. В данном варианте воплощения выборка подается на каждое множество логических элементов одновременно, и каждый набор логических элементов, в свою очередь, генерирует компонент для каждого коэффициента, представляющий вклад выборки в каждый коэффициент одновременно, и каждый коэффициент обновляется одновременно. Это обозначают как параллельность, которая является предпочтительным свойством, поскольку позволяет обновлять все коэффициенты одновременно. Параллельность представляет собой типичное приложение генератора коэффициента. В частности, генератор коэффициента обычно выполняют так, чтобы он обновлял все коэффициенты одновременно. Кроме того, в некоторых случаях генератор коэффициента конфигурируют так, чтобы он принимал входные сигналы по нескольким каналам, для которых генератор коэффициента генерирует набор коэффициентов для каждого канала. Однако во многих вариантах воплощения, приведенных ниже, генератор коэффициентов изображен как обновляющий каждый коэффициент последовательно и только с одним каналом для простоты изложения.
На фиг. 1 изображено определение коэффициентов на основе использования логических элементов, таких как умножители, сумматоры, делители или воплощающих другие управляемые функции. На фиг. 3 изображено определение коэффициентов с использованием, по меньшей мере, одного запоминающего устройства. Использование запоминающих устройств, в отличие от логических элементов, может быть предпочтительным, поскольку многие значения, которые должны вычисляться для определения коэффициентов, могут быть заранее записаны в запоминающих устройствах. Это, в свою очередь, может позволить сократить время при определении коэффициентов.
Как видно на фиг. 3, генератор коэффициентов в соответствии с данным вариантом воплощения содержит приемник 12 для приема выборок сигнала. Генератор коэффициента также содержит первое запоминающее устройство 22, электрически соединенное с приемником, и второе запоминающее устройство 24, электрически соединенное с первым запоминающим устройством. В одном из вариантов воплощения настоящего изобретения второе запоминающее устройство содержит матрицу ячеек, в которой каждая ячейка содержит заранее вычисленное значение, представляющее часть ортогональной функции сигнала для каждой выборки и коэффициента. Например, второе запоминающее устройство содержит ячейку для части ортогональной функции сигнала для первой выборки, и коэффициента, равного косинусу (2πCnSn/N) или соs(2π/8). В данном варианте воплощения первое запоминающее устройство может представлять собой умножитель.
Как показано на фиг. 2 и в Приложении 2, при работе данного варианта воплощения для каждой выборки приемник принимает выборку сигнала и подает эту выборку на вход первого запоминающего устройства 22 (см. этап 100). Для каждого коэффициента второе запоминающее устройство принимает маркер, представляющий адрес ячейки, содержащей часть ортогональной функции сигнала для данной выборки и коэффициента. Этот маркер подается на входы 18 и 20, где одна часть маркера представляет собой номер Сn коэффициента, и другая часть представляет номер Sn выборки. На основе этого маркера второе запоминающее устройство производит поиск значения, связанного с коэффициентом и выборкой, и передает это значение в первое запоминающее устройство (см. этап 110). Первое запоминающее устройство, в свою очередь, принимает это значение со второго запоминающего устройства и значение выборки из приемника. На основе этих значений первое запоминающее устройство генерирует компонент, представляющий вклад выборки в коэффициент (то есть, S1 cos(2π/8), для первой выборки и коэффициента) (см. этап 120). Этот компонент затем добавляется к коэффициенту (то есть А1+A11) (см. этап 130). Это повторяется для каждого коэффициента (см. этапы 140 и 150).
В некоторых вариантах воплощения настоящего изобретения выборка, принятая из приемника, представляет собой одно из ряда конечных значений. Так как часть ортогональной функции для каждой выборки и коэффициента известна заранее (то есть (2πCnSn/N)) и выборка может быть только одним из конечного количества значений, значения, представляющие каждое значение выборки, номер выборки и номер коэффициента могут быть заранее вычислены и заранее записаны в запоминающее устройство. При этом, когда производится прием выборки, компонент, представляющий вклад выборки в каждый коэффициент, может быть определен с помощью поиска значения в запоминающем устройстве на основании значения выборки, номера выборки и номера коэффициента.
При этом в одном из дополнительных вариантов воплощения первое запоминающее устройство представляет собой запоминающее устройство, содержащее матрицу ячеек. Каждая ячейка первого запоминающего устройства содержит заранее вычисленное значение, представляющее каждое значение выборки, номер выборки и номер коэффициента. Для каждого коэффициента и выборки запоминающее устройство содержит группу ячеек так, что каждая из них содержит ортогональную функцию, связанную с коэффициентом и выборкой, перемноженную на возможное значение выборки. Например, для первой выборки и коэффициента существует группа ячеек, имеющих значение S1 cos(2π/8), где каждая ячейка представляет значение для различных возможных значений S1. Кроме того, второе запоминающее устройство содержит матрицу ячеек так, что каждая из них содержит маркер, представляющий часть ортогональной функции для каждой выборки и коэффициента.
При работе, как видно на фиг. 2, для каждой выборки приемник принимает выборку сигнала и подает эту выборку в первое запоминающее устройство 22 (см. этап 100). Для каждого коэффициента второе запоминающее устройство принимает значения 18 и 20, представляющие адрес ячейки, содержащей маркер, представляющий часть ортогональной функции сигнала для выборки и коэффициента. Второе запоминающее устройство производит поиск маркера, связанного с этим коэффициентом и выборкой, и выводит маркер в первое запоминающее устройство (см. этап 110). Первое запоминающее устройство, в свою очередь, принимает маркер из второго запоминающего устройства и значение выборки из приемника. На основании маркера и значения выборки первое запоминающее устройство производит поиск ячейки в матрице, соответствующей этим значениям, и выводит компонент, представляющий вклад выборки в коэффициент (то есть S1 cos (2π/8), для первой выборки и коэффициента) (см. этап 120). Этот компонент затем добавляют к коэффициенту (то есть А1+A11) (см. этап 130). Это повторяется для каждого коэффициента (см. этапы 140 и 150).
И вновь следует понимать, что устройство в соответствии с данным вариантом воплощения может работать в параллельной конФиг.ции для обновления каждого коэффициента одновременно путем установки множества первых и вторых запоминающих устройств для каждого коэффициента, так, что все они подключены к приемнику. В этом варианте воплощения каждое первое и второе запоминающее устройство принимает выборку одновременно и производится соответствующая их адресация так, что в каждом наборе первых и вторых запоминающих устройств производится адресация значения для различных коэффициентов. Таким образом, вклад выборки в каждый коэффициент определяется параллельно и одновременно.
Как видно на фиг. 3, в одном из дополнительных вариантов воплощения генератор коэффициента может содержать счетчик 26, электрически подключенный ко второму запоминающему устройству 24. Значение этого счетчика может увеличиваться с помощью импульса тактовой частоты (не показан), который синхронизирован так, что позволяет производить вычисления. Счетчик может иметь два выхода 18 и 20, которые представляют номер коэффициента и номер выборки для адресации второго запоминающего устройства. При работе для каждой выборки номер выборки поддерживается постоянным, в то время как для каждого цикла или множества циклов тактовой частоты счетчик увеличивает номер коэффициента. Это, в свою очередь, производит адресацию для второго запоминающего устройства для определения вклада выборки в каждый коэффициент. После того, как для этой выборки будут подсчитаны все коэффициенты, номер выборки в счетчике увеличивается, и номер коэффициента обнуляется, так, что теперь производится оценка следующей выборки для каждого коэффициента.
Как подробно описано выше, для снижения времени вычислений в одном из вариантов воплощения настоящего изобретения используется запоминающее устройство для записи заранее вычисленных значений и маркера для адресации их в запоминающих устройствах. Во многих электронных конструкциях важно минимизировать количество компонентов, необходимых для работы схемы, и также необходимо использовать серийно производимые коэффициенты везде, где возможно. Для этого необходимы способы оценки требуемых аспектов конструкции и определения конструктивных решений для минимизации количества компонентов, которые позволяют использовать стандартные компоненты.
Кроме того, настоящее изобретение направлено на способы и компьютерные программные продукты, предназначенные для уменьшения количества значений, которые должны записываться для представления возможных математических компонентов функции. Этот способ изображен со ссылкой на фиг. 4, и пример способа уменьшения количества значений, которые должны записываться в запоминающем устройстве генератора коэффициента, изображен на фиг. 3.
Как видно на фиг. 4, сначала создается пустой список (см. этап 200), и все возможные математические компоненты функции записываются в матрицу (см. этап 210). Например, во многих математических функциях, таких как ряды Фурье, определенная матрица значений должна перемножаться на набор данных. Если эти данные представляют собой N-битные двоичные числа и в матрице имеется М чисел, количество возможных произведений, которые должны формироваться, представляет собой два в степени N умножить на М (SNxM). Например, если ряды Фурье основаны на 64 выборках, для генерирования 64 коэффициентов существует 4096 тригонометрических функций, оценка которых должна производится и которые должны перемножаться на выборки. Если каждая из выборок содержит 12 бит, существует 4906 возможных значений выборки. Для предварительного вычисления и записи произведения каждого из возможных значений выборки на значение тригонометрической функции для всех 4096 возможных значений выборки потребуется 16777216 записанных значений произведений, что потребует использовать относительно большое запоминающее устройство.
Как видно на фиг. 4, для уменьшения количества записанных значений способ и компьютерный программный продукт в соответствии с настоящим изобретением помещает все возможные значения в матрицу (см. этап 210), и систематически сравнивает каждый математический компонент в списке со всеми другими математическими компонентами в списке для определения того, какие из математических компонентов являются избыточными (см. этапы 220 и 240). Если значение является уникальным, его записывают в генерируемый список (см. этап 250). Это повторяется для всех значений (см. этап 260), и общее количество значений подается на выход (см. этап 270).
Например, для рядов Фурье, используя свойства синуса и косинуса, требуется в действительности записать только 32 различных значения. Этот анализ основан на оценке функций синуса и косинуса, которые типично используются в преобразовании Фурье. В частности, на фиг. 5 изображены два графика, представляющие 4096 оценок синуса и косинуса для коэффициентов преобразования Фурье с использованием 64 выборок и 64 коэффициентов. Эти графики иллюстрируют, что существует только конечный набор значений. Этот анализ основан на том факте, что каждое значение связано с полярностью плюс или минус. Если плюс или минус значений обозначается маркерами, требуется записывать только абсолютное значение функций. При этом требования к памяти могут быть уменьшены с 256К до 128К.
Количество записанных значений также может быть уменьшено, если входящий код значения выборки, представляющий значение выборки, представлен в форме со знаком (положительным или отрицательным) и его значение приблизительно равно нулю, так, что будет только один бит знака и остальные 11 бит будут представлять собой абсолютное значение вводимых 12 бит. Такое 11-битовое число требует только половины места в памяти, предназначенного для хранения 12 бит. При этом размер памяти может быть уменьшен до 64К путем преобразования 12-битового значения в 11-битовое значение и 1-битовый знак и обработки бита знака в определенном логическом устройстве, которое также может обрабатывать маркер.
Как указано выше, существует 32 различных значения, что требует записи 32 различных маркеров. Если количество маркеров может быть уменьшено до 16, то потребуется 16 значений умножить на 2048 возможных значений выборки, что составляет 32К. Это может быть выполнено, учитывая, что одно из значений равно нулю, и что все 4096 значений, связанные с ним, становятся равными нулю. Вместо этого записывая маркеры для нулевых значений, сам маркер может содержать бит, выделенный для нуля. При этом может использоваться набор из 16 маркеров, в которых 4 бита представляют собой адрес, знаковый бит представляет знак и нулевой бит представляет, когда значение равно нулю.
Как указано выше, способ и компьютерные программные продукты в соответствии с настоящим изобретением могут использоваться для уменьшения количества значений, которые необходимо записывать. Это, в свою очередь, позволяет использовать минимальное количество стандартных аппаратных средств. Например, в вышеприведенном примере, где 64 выборки сигнала отбираются с использованием 12-битового кода выборки, первое запоминающее устройство для записи всех заранее вычисленных значений может быть уменьшено до объема 128К, и второе запоминающее устройство для записи маркеров может быть уменьшено до объема 8КБ.
Хотя способ и компьютерные программные продукты в соответствии с настоящим изобретением для уменьшения количества записанных значений изображены в контексте рядов Фурье с заранее описанным количеством выборок и размером, выраженным в битах выборки, следует понимать, что способы и компьютерные программные продукты для уменьшения количества требуемых значений, которые должны записываться, могут использоваться с любыми функциями, любым количеством заранее описанных выборок и/или размером выборки, выраженным в битах.
После определения количества записанных значений, эти значения должны адресоваться с помощью маркеров, которые записаны во втором запоминающем устройстве. Как показано на фиг. 6, для создания адресов/маркеров для записи способ первоначально применяет адрес к значению (см. этапы 300 и 310). Затем выбирают маркер, связанный с адресом (см. этап 320). В способе затем производится проверка для определения того, все ли значения обеспечены адресами (см. этап 330). Если это не так, способ увеличивает адрес в любом порядке (см. этап 340). После того, как будет произведена адресация всех значений, они записываются в запоминающее устройство (см. этап 350). Аналогично, когда для маркеров будет известен набор значений, обычно определяется порядок адресов или производятся другие логические функции, которые заменяют таблицу с тем же откликом для каждого адреса, и это уменьшает количество транзисторов или других аппаратных средств, используемых в воплощаемой технологии. Это называется управляемой функцией, а не таблицей.
Как показано на фиг. 7, в дополнение к созданию и записи маркеров заранее вычисленные значения также должны быть записаны в первое запоминающее устройство. В частности, для каждого возможного значения выборки, способ и компьютерные программные продукты в соответствии с настоящим изобретением берут первый маркер и применяют значение маркера и возможное значение выборки к функции для создания заранее вычисленного значения функции для значения выборки (см. этап 400 и 410). Заранее вычисленное значение затем записывают в память (см. этап 420). Способ затем проверяет, для всех ли значений была выполнена адресация (см. этап 430). Если нет, способ увеличивает адрес в любом порядке (см. этап 440). После того, как будет выполнена адресация всех значений, их записывают в запоминающее устройство (см. этап 450). Аналогично, когда будет известен набор значений для этих маркеров, обычно определяют компоновку умножителей или других логических элементов, которые заменяют таблицу с тем же откликом для каждого адреса, что уменьшает количество транзисторов или других значимых аппаратных средств в воплощаемой технологии. Это называется управляемой функцией, а не таблицей.
На фиг. 3, описанной выше, показано использование запоминающих устройств и маркеров для определения коэффициентов функции. На фиг. 8, однако, представлено более обобщенное использование запоминающих устройств и маркеров, выработанных выше, как показано на Фиг. 4 и 6-7. В частности, для использования запоминающего устройства и маркеров для определения значения на второе запоминающее устройство подают адрес, представляющий требуемый маркер (см. этап 500), и производится поиск маркера (см. этап 510). Маркер затем подают на первое запоминающее устройство вместе со значением выборки для создания адреса для доступа в первое запоминающее устройство (см. этапы 520 и 530). Если маркер содержит знаковый бит или нулевой бит, в которых установлена определенная величина, значение, связанное с маркером в первом запоминающем устройстве, изменяют соответствующим образом (см. этап 540). В конце значение подается на выход (см. этап 550).
Как описано выше, количество значений, которые должны быть записаны для вычисления коэффициентов функции, может быть уменьшено путем удаления избыточных значений, записывая только величину значений, и используя биты маркера для обозначения, когда значения равны нулю, или знака значения. На фиг. 9 изображен пример воплощения для определения коэффициентов функции с использованием первого запоминающего устройства, имеющего минимальное количество записанных значений, второе запоминающее устройство с маркерами, которые включают биты для указания знака и нуля, и входного значения со знаком. Как и в предыдущем варианте воплощения генератор 10 коэффициента в данном варианте воплощения содержит первое и второе запоминающие устройства 22 и 24. Оба эти запоминающие устройства содержат матрицы ячеек для записи значений. Второе запоминающее устройство содержит маркеры, представляющие номер коэффициента и выборки, и первое запоминающее устройство содержит все возможные уникальные значения выборки, скомбинированные с частью ортогональной функции для каждой выборки и коэффициента. Например, для первой выборки S1 и первого коэффициента C1, маркер, записанный во втором запоминающем устройстве, обозначает номер выборки и номер коэффициента. S1 и C1. В первом запоминающем устройстве записано множество ячеек, каждая из которых содержит значение, определенное по уравнению (S1cos (2πCnSn/N) или (S1cos (2π/N)), причем в каждой ячейке записано приложение возможного значения выборки S1 к уравнению.
Кроме того, генератор коэффициента, в соответствии с данным вариантом воплощения, также содержит первый логический элемент 28 И, электрически соединенный с приемником 12, выходом второго запоминающего устройства и входом первого запоминающего устройства. Генератор коэффициента также содержит второй логический элемент 30 И, соединенный с выходом первого логического элемента 28 И и логический элемент 32 Исключающее ИЛИ. К выходу второго логического элемента 30 И подключен сумматор 36, обычно выполненный так, что он производит двойное дополнение сигнала. Логический элемент 32 Исключающее ИЛИ электрически соединен с выходом второго запоминающего устройства и комбинацией логических элементов 40, которая будет описана ниже. Генератор коэффициента в данном варианте воплощения также содержит устройство 34 обнуления или сброса, которое электрически соединено со входом первого запоминающего устройства.
Важно отметить, что для уменьшения количества значений, которые должны быть записаны, выборка, принятая приемником, представлена 12 битовым кодом, в котором один из битов представляет собой знаковый бит. Как описано выше, благодаря уменьшению битового представления выборки до 11 бит и использования одного бита знака, можно уменьшить необходимый объем запоминающего устройства. С этой целью в некоторых вариантах воплощения генератор коэффициента также содержит преобразователь 38 кода, электрически соединенный с приемником 12. Если выборка на выходе приемника не имеет соответствующий 12-битовый формат, преобразователь кода преобразует выборку в 12-битовое значение, которое содержит 11 бит, представляющих значение, и 1 бит знака.
Генератор коэффициента в данном варианте воплощения также содержит 6-битовый маркер, записанный во втором запоминающем устройстве, предназначенный для адресации значений, записанных в первом запоминающем устройстве. Важно отметить, что для уменьшения количества значений, которые должны быть записаны, один из битов представляет знак числа, и один из битов представляет, равно ли значение нулю. Маркеры работают совместно со вторым логическим элементом 30 И и сумматором 36 для указания отрицательного значения на выходе первого запоминающего устройства, если знаковый бит маркера указывает, что это значение отрицательное. Кроме того, устройство 34 обнуления или сброса, нулевой бит маркера и логический элемент 28 И работают для обнуления выхода запоминающего устройства, если маркер указывает, что это значение должно быть равно нулю.
Как показано на фиг. 10, при работе данного варианта воплощения для каждой выборки приемник принимает выборку сигнала и вводит эту выборку в первое запоминающее устройство 22 (см. этап 600). Для каждого коэффициента входы 18 и 20 подключены ко второму запоминающему устройству, представляющему номер выборки и номер коэффициента (см. этап 610). На основе значений на этих входах второе запоминающее устройство подает на выход маркер, содержащий 4 бита, представляющие номер выборки и номер коэффициента, 1 бит, представляющий, является ли значение отрицательным, и 1 бит, представляющий, равно ли значение нулю или нет (см. этап 620). Первое запоминающее устройство, в свою очередь, принимает маркер из второго запоминающего устройства и значение выборки от приемника. На основе этих значений первое запоминающее устройство генерирует компонент, соответствующий вкладу выборки в коэффициент (то есть S1 cos(2π/8), для первой выборки и коэффициента) (см. этап 630).
Кроме того, знаковый бит выборки и выход знакового бита маркера подаются на второй логический элемент 30 И. Если либо знак сигнала будет отрицательным, либо знаковый бит маркера будет установлен, второй логический элемент И выводит бит переноса на сумматор 36. Сумматор при этом делает значение на выходе первого запоминающего устройства отрицательным (см. этапы 640 и 650).
Аналогично, маркер и сигнал подаются вместе на первый логический элемент 28 И. Если сигнал или маркер указывают на нулевое значение, на выход логического элемента 28 И подается нулевое значение. Это нулевое значение подается на второй логический элемент 30 И, которое запрещает второму логическому элементу 30 И делать сигнал отрицательным. Кроме того, нулевое значение подается на первое запоминающее устройство, что отключает первое запоминающее устройство. Благодаря отключению первого запоминающего устройства устройство 34 обнуления или сброса выводит нулевое значение, представляющее значение коэффициента (см. этапы 660 и 670). Затем на выход подается компонент коэффициента (см. этап 680).
Как показано на фиг. 9, в одном из вариантов воплощения генератор коэффициента дополнительно содержит счетчик 26, который электрически соединен со вторым запоминающим устройством. Счетчик может увеличивать свое значение при поступлении тактового импульса, (не показан), который синхронизирован с выполняемыми вычислениям. Счетчик может включать два выхода 18 и 20, которые представляют номер коэффициента и номер выборки для адресации второго запоминающего устройства. При работе для каждой выборки номер выборки поддерживается постоянным, в то время как для каждого цикла или множества циклов тактовой частоты счетчик увеличивает номер коэффициента. Это, в свою очередь, производит адресацию второго запоминающего устройства для определения вклада выборки для каждого коэффициента. После того, как все коэффициенты будут вычислены для этой выборки, номер выборки счетчика увеличивается, и номер коэффициента обнуляется, так, что далее производится оценка следующей выборки для каждого коэффициента.
Далее, что важно, на фиг. 9 также представлен другой аспект настоящего изобретения. Как указано выше, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением определяют коэффициенты функции, представляющей входной сигнал, на основе заранее определенного множества выборок входного сигнала. Однако устройство, способы и компьютерные программные продукты могут также определять коэффициенты, представляющие инверсную функцию сигнала. Например, многие системы обработки данных построены так, что они исполняют как ДПФ, так и обратное ДПФ сигнала.
Обратное ДПФ, по существу, выполняет ДПФ в обратном порядке. Поскольку первое запоминающее устройство содержит все возможные значения ДПФ, обратное ДПФ может определяться путем простой адресации значения в первом запоминающем устройстве, которые соответствуют значениям обратной ДПФ. Как показано на фиг. 9, для выполнения обратного ДПФ генератор коэффициента дополнительно включает третий логический элемент 40, который содержит как логический элемент Исключающее ИЛИ, так и логический элемент НЕ. Третий логический элемент имеет входы, подключенные к знаковому биту 12-битового сигнала, и вход, предназначенный для указания того, когда выполнять инверсную функцию 44. Выход третьего логического элемента подключен к логическому элементу 32 Исключающее ИЛИ вместе с выходом второго запоминающего устройства. Кроме того, генератор коэффициента также включает селектор или перекрестный соединитель 42, который электрически подключен ко входам 18 и 20 второго запоминающего устройства. Перекрестный соединитель также подключен к входу 44, указывая, следует ли выполнять инверсную функцию.
При работе инверсная функция (например, инверсная ДПФ), работает аналогично определению функции (например, ДПФ), как представлено на фиг. 10. За исключением того, что селектор или перекрестный соединитель переключает входные линии адреса к первому запоминающему устройству. В частности, если требуется определить коэффициенты инверсной функции сигнала, селектор изменяет адрес, указанный маркером так, что маркер производит адресацию к ячейке первого запоминающего устройства, содержащей заранее вычисленное значение, представляющее инверсную математическую функцию сигнала. Кроме того, третий логический элемент 40 работает совместно со вторым логическим элементом 30 И так, что он делает сигнал отрицательным, когда либо математическая функция, либо входной сигнал будут отрицательными. При этом устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением позволяют определять функцию или инверсную функцию, используя те же компоненты и записанные значения, просто переключая адресуемые значения для выполнения инверсной функции.
Как указано выше, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением определяют коэффициенты функции, представляющей сигнал, путем обновления каждого коэффициента, по мере приема каждой выборки. Фиг. 1, 3 и 9 иллюстрируют обновление коэффициентов для одной выборки. Фиг. 11, подробно описанная ниже, изображает определение коэффициентов на основе множества выборок и, в частности, иллюстрирует обновление каждого коэффициента для каждой принятой выборки.
Аналогично предыдущим вариантам воплощения, генератор 10 коэффициента в соответствии с заданным вариантом воплощения включает первое и второе запоминающее устройство 22 и 24. Оба запоминающие устройства содержат матрицы ячеек для записи значений. Второе запоминающее устройство содержит маркеры, представляющие номера коэффициентов и выборок, и первое запоминающее устройство включает все возможные уникальные значения выборки, скомбинированные с частью ортогональной функции для каждой выборки и коэффициента. Хотя для адресации второго запоминающего устройства может использоваться любая система или устройство, в данном варианте воплощения для адресации второго запоминающего устройства используется счетчик 26.
Генератор коэффициента в соответствии с данным вариантом воплощения дополнительно включает сумматор 44, электрически соединенный с выходом первого запоминающего устройства. К сумматору 44 подключен перекрестный соединитель 46 и третье запоминающее устройство 48. Генератор коэффициента также включает устройство 50 обнуления или сброса, которое электрически соединено с перекрестным соединителем, и логические элементы 52 и 54 И, подключенные к выходу счетчика.
Как показано на фиг. 11, при работе в соответствии с данным вариантом воплощения для каждой выборки приемник принимает выборку сигнала и вводит выборку в первое запоминающее устройство 22 (см. этап 700). Для каждого коэффициента на второе запоминающее устройство подаются сигналы 18 и 20, представляющие номер выборки и номер коэффициента из счетчика (см. этап 710). На основе этих сигналов второе запоминающее устройство выводит маркер (см. этап 720). Первое запоминающее устройство, в свою очередь, принимает маркер из второго запоминающего устройства и значение выборки из приемника. На основании этих значений первое запоминающее устройство генерирует компонент, представляющий вклад выборки в коэффициент (см. этап 730). Компонент затем подается на сумматор 44, который также принимает предыдущее значение коэффициента из третьего запоминающего устройства 48. Третье запоминающее устройство также подключено ко второму запоминающему устройству. Маркер из второго запоминающего устройства производит адресацию коэффициента, записанного в третьем запоминающем устройстве, которое, в свою очередь, подается на сумматор для добавления к компоненту. Компонент суммируется для данного коэффициента с помощью сумматора (см. этап 740).
После обновления коэффициента генератор коэффициента затем определяет, была ли обработана последняя выборка (см. этап 750). В частности, логический элемент 52 И подключен к шести старшим битам счетчика, которые определяют номер выборки. Если номер выборки представляет собой последний номер выборки в наборе (в данном случае номер 64), все шесть старших битов счетчика будут содержать единицы. Когда все единицы подаются на логический элемент 52 И, логический элемент И выводит единицу, указывающую, что была принята последняя выборка.
Если последняя выборка не была принята, перекрестный соединитель 46 направляет обновленный коэффициент из сумматора 44 в третье запоминающее устройство 48, где этот обновленный коэффициент записывается (см. этап 760). Устройство 50 обнуления или сброса также подает на выход ноль, указывающий, что коэффициенты не были подсчитаны.
С другой стороны, если была принята последняя выборка, перекрестный соединитель 46 направляет обновленный коэффициент из сумматора 44 на выход (см. этап 770). Далее устройство 50 обнуления или сброса направляет с помощью перекрестного соединителя нулевое значение, которое записывается в третьем запоминающем устройстве как сигнал сброса. Кроме того, логический элемент 54 И указывает, что выходное значение коэффициента является действительно значением, не равным нулю.
Вышеприведенные этапы повторяются для каждого коэффициента до тех пор, пока все коэффициенты не будут обновлены для выборки (см. этап 780 и 790). Далее процесс повторяется для каждой выборки до тех пор, пока не будут приняты все выборки и не будет обновлен каждый коэффициент (см. этап 795).
На фиг. 11 также изображен другой аспект настоящего изобретения. В частности, в одном из вариантов воплощения генератор коэффициента в соответствии с настоящим изобретением подключен к множеству каналов сигнала так, что генератор коэффициента определяет коэффициенты для функций, представляющих сигналы в каждом из каналов. В этом варианте воплощения счетчик также подает на выход значение подсчета, указывающее канал, для которого генератор коэффициента в данный момент обрабатывает сигнал. Номер канала и номер коэффициента подаются по линиям 56 и 58. Генератор коэффициента работает аналогично предыдущим вариантам воплощения. В частности, генератор коэффициента вначале подключается к первому каналу, где он принимает выборку и обновляет коэффициент, связанный с первым каналом. Генератор коэффициента подключается к каждому каналу, принимает выборку и обновляет коэффициенты, связанные с сигналом в этом канале. Это повторяется до тех пор, пока все выборки по всем каналам не будут приняты и коэффициенты для сигнала в каждом канале не будут обновлены. В другом варианте воплощения генератор коэффициента может принимать и обрабатывать все выборки для одного канала до переключения на следующий канал.
Как указано выше, иногда предпочтительно уменьшить количество данных, которые должны быть записаны, путем удаления избыточных значений, записывая только величины значений и используя маркеры для указания знака или определения, равно ли значение нулю. При этом на фиг. 13 изображен генератор коэффициента на фиг. 11 с добавлением логических элементов, предназначенных для уменьшения количества значений, которые должны быть записаны. В частности, аналогично предыдущему варианту воплощения, генератор 10 коэффициента по данному варианту воплощения включает первое и второе запоминающие устройства 22 и 24. Оба запоминающих устройства содержат матрицы ячеек для записи значений. Второе запоминающее устройство содержит маркеры, представляющие номер коэффициента и номер выборки, и первое запоминающее устройство содержит все возможные уникальные значения выборки, скомбинированные с частью ортогональной функции для каждой выборки и коэффициента. Хотя любая система или устройство могут использоваться для адресации второго запоминающего устройства, в настоящем варианте воплощения для адресации второго запоминающего устройства используется счетчик 26.
Генератор коэффициента в соответствии с данным вариантом воплощения дополнительно включает сумматор 44, электрически подключенный к выходу первого запоминающего устройства. К сумматору 44 подключен перекрестный соединитель или селектор 46 и третье запоминающее устройство 48. Генератор коэффициента также включает устройство 50 обнуления или сброса, электрически подключенное к перекрестному соединителю И, логический элемент 52 И-НЕ и логический элемент 54 И, подключенные к выходу счетчика.
Кроме того, генератор коэффициента по данному варианту воплощения также содержит первый логический элемент 28 И, второй логический элемент 30 И, и логический элемент 32 Исключающее ИЛИ. К выходу второго логического элемента 30 И подключен сумматор 36, который обычно выполнен так, что он выполняет двоичное дополнение сигнала. Логический элемент 32 Исключающее ИЛИ электрически подключен к выходу второго запоминающего устройства и комбинации 40 логических элементов. Генератор коэффициента по данному варианту воплощения также содержит устройство 34 обнуления или сброса, электрически подключенное к выходу первого запоминающего устройства.
Генератор коэффициента также включает преобразователь 38 кода, электрически подключенный к приемнику 12 для преобразования входного сигнала, если необходимо, в 12-битовое значение, в котором 11 битов представляют значение и 1 бит выделен для знака. Генератор коэффициента по данному варианту воплощения также содержит 6-битовый маркер, записанный во втором запоминающем устройстве для адресации значений, записанных в первом запоминающем устройстве. Как и в предыдущем варианте воплощения, маркеры работают в совместно со вторым логическим элементом 30 И и сумматором 36 для придания отрицательного значения выходному значению первого запоминающего устройства, если знаковый бит маркера указывает на отрицательное значение величины. Кроме того, устройство 34 обнуления или сброса или нулевой бит маркера работают так, что обнуляют выход первого запоминающего устройства, если маркер указывает, что значение должно быть равно нулю.
Кроме того, генератор коэффициента включает первый фиксирующий триггер 60 для фиксирования входного сигнала и второй фиксирующий триггер 62 для фиксирования выходных значений коэффициента. Генератор коэффициента также включает вход 44 и комбинацию 40 логических элементов, которые предназначены для использования генератора коэффициентов для определения коэффициентов инверсной функции сигнала. Кроме того, генератор коэффициента включает устройство 64 сброса для сброса запоминающих устройств и выходы 56 и 58 для вывода номера коэффициента и номера канала.
Как видно на фиг. 14, при работе устройства в соответствии с данным вариантом воплощения для каждой выборки приемник принимает выборку сигнала и передает эту выборку в первое запоминающее устройство 22 (см. этап 800). Для каждого коэффициента на второе запоминающее устройство подаются сигналы 18 и 20, которые представляют номер выборки и номер коэффициента (см. этап 810). На основе этих входных сигналов, второе запоминающее устройство передает на выход маркер, содержащий 4 бита, представляющие номер выборки и номер коэффициента, 1 бит, представляющий, является ли значение отрицательным, и 1 бит, представляющий, равно ли значение нулю или нет (см. этап 820). Первое запоминающее устройство, в свою очередь, принимает маркер со второго запоминающего устройства и значение выборки с приемника. На основе этих значений первое запоминающее устройство генерирует компонент, представляющий вклад выборки в коэффициент (см. этап 830).
Кроме того, знаковый бит выборки и вывод знакового бита маркера подаются на второй логический элемент 30 И. Если либо знак сигнала будет отрицательным, либо знаковый бит маркера будет установлен в единицу, второй логический элемент И подает на выход бит переноса, который поступает на сумматор 36. Сумматор при этом делает выходной сигнал первого запоминающего устройства отрицательным (см. этапы 840 и 850).
Аналогично маркер и сигнал поступают на первый логический элемент 28 И. Если либо сигнал, либо маркер указывают на нулевое значение, на выходе логического элемента 28 И будет формироваться нулевое значение. Нулевое значение посылается на второй логический элемент 30 И, который запрещает второму логическому элементу 30 И делать сигнал отрицательным. Кроме того, нулевое значение подается на первое запоминающее устройство, которое отключает первое запоминающее устройство. Благодаря отключению первого запоминающего устройства устройство 34 обнуления или сброса подает на выход нулевое значение, представляющее значение коэффициента (см. этапы 860 и 870). Затем на выход поступает компонент коэффициента.
Компонент затем поступает на сумматор 44, который также принимает предыдущее значение коэффициента из третьего запоминающего устройства 48. Третье запоминающее устройство также подключено ко второму запоминающему устройству. Маркер со второго запоминающего устройства производит адресацию коэффициента, записанного в третьем запоминающем устройстве, которое, в свою очередь, подает сигнал на сумматор для суммирования компонента. Компонент добавляется к существующему коэффициенту с помощью сумматора (см. этап 880).
После обновления коэффициента генератор коэффициента определяет, была ли произведена обработка последней выборки (см. этап 900). В частности, логический элемент 52 И подключен к шести старшим битам счетчика, которые определяют номер выборки. Если номер выборки является последним номером выборки в наборе (в данном случае 64-я выборка), все шесть старших битов счетчика будут установлены в единицу. Когда все единицы поступают на логический элемент 52 И, логический элемент И выводит единицу, указывающую на то, что была принята последняя выборка.
Если последняя выборка не была принята, перекрестный соединитель или селектор 46 направляет обновленный коэффициент от сумматора 44 в третье запоминающее устройство 48, где обновленный коэффициент записывается (см. этап 900). Устройство 50 обнуления или сброса также подает на выход ноль, что указывает на то, что коэффициенты еще не были вычислены.
С другой стороны, если последняя выборка была принята, перекрестный соединитель 46 направляет обновленный коэффициент с сумматора 44 на выход (см. этап 910). Кроме того, устройство 50 обнуления или сброса устанавливается перекрестным соединителем так, что оно обнуляет значение, записанное в третьем запоминающем устройстве в качестве сброса. Кроме того, логический элемент 54 И указывает, что выведенное значение коэффициента является действительным значением, вместо нуля.
Вышеприведенные этапы повторяют для каждого коэффициента до тех пор, пока все коэффициенты не будут обновлены для данной выборки (см. этап 920 и 930). Далее процесс повторяют для каждой выборки до тех пор, пока все выборки не будут приняты и каждый коэффициент не будет обновлен (см. этап 940).
Кроме того, первый и второй фиксирующие триггеры 60 и 62 синхронизированы с счетчиком так, что вывод коэффициентов и прием новой выборки основывается на цикле тактовой частоты. Кроме того, устройство 64 сброса производит сброс запоминающих устройств.
Как описано выше, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением позволяют производить обработку множества выборок и генерировать коэффициенты функции на основе выборок. В некоторых вариантах воплощения настоящего изобретения после приема множества выборок устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением подают на выход сгенерированные коэффициенты, производят сброс коэффициентов и вновь производят выборки сигнала. В некоторых вариантах воплощения, однако, может быть предпочтительным генерировать и подавать на выход полный набор коэффициентов по мере приема и обработки каждой новой выборки. Это называется преобразование Фурье со скользящей апертурой (ПФСА).
В этом варианте воплощения устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением не производят сброс каждого коэффициента в ноль после приема последней выборки из множества выборок и подачи на выход коэффициентов. Вместо этого устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением заменяют первую выборку предыдущего множества выборок на следующую принятую выборку. Используя эту новую выборку, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением подают на выход следующий набор коэффициентов. При этом вместо генерирования набора коэффициентов для каждого "пакета" выборок, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением генерируют набор коэффициентов, каждый раз при приеме новой выборки, формируя, таким образом, новый набор коэффициентов, каждый раз при приеме новой выборки.
Настоящее изобретение направлено на несколько устройств, способов и компьютерных программных продуктов для генерирования набора коэффициентов, каждый раз при приеме новой выборки. В каждом из этих вариантов воплощения, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением заменяют вклад первой выборки предыдущего множества выборок на вклад следующей принятой выборки и затем подают на выход новые коэффициенты. Например, в одном из вариантов воплощения устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением первоначально записывают каждую из выборок, по мере их приема, и генерируют первый набор коэффициентов при приеме последней выборки из множества выборок. Затем, когда будет принята новая выборка входного сигнала (после того, как заранее определенное множество выборок уже было принято), устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением применяют математическую функцию, связанную с коэффициентами для новой выборки и генерируют компонент на основе новой выборки для каждого коэффициента. Для замены новой выборкой первой выборки из множества выборок, сгенерированный компонент новой выборки вычитают из компонента, связанного с первой выборкой заранее определенного множества выборок, которые были ранее записаны в запоминающем устройстве. После этого вычитания коэффициенты обновляют на разность между компонентами, полученными на основе новой выборки и первой выборки ранее определенного множества выборок.
В другом варианте воплощения настоящего изобретения для замены новой выборкой первой выборки из множества выборок устройство, способ и компьютерные программные продукты в соответствии с настоящим изобретением производят вычитание компонента на основе первой выборки из ранее определенного множества выборок из каждого из коэффициентов и производят прибавление к компоненту, полученному на основе новой выборки, каждого из коэффициентов. При этом в одном из вариантов воплощения компоненты для новой и для самой старой выборки вначале вычитают друг из друга и остаток прибавляют к коэффициентам, в то время как в другом варианте воплощения компонент, связанный с самой старой выборкой, вычитают из каждого коэффициента, и компонент, связанный с новой выборкой, прибавляют к коэффициентам. Этот второй вариант воплощения обычно приводит к меньшим затратам на вычислительный процесс и изображен на фиг. 15.
В частности, генератор 10 коэффициента на фиг. 15 включает все компоненты генератора коэффициента, изображенного и описанного на фиг.13. Однако генератор коэффициента на фиг. 15 дополнительно включает четвертое запоминающее устройство 66, электрически соединенное с третьим запоминающим устройством 48 для записи компонентов, связанных с каждой выборкой из множества выборок. Генератор коэффициента дополнительно включает сумматор 68, электрически соединенный с третьим и четвертым запоминающими устройствами для вычитания компонента, связанного с первой выборкой предыдущего множества выборок, из компонента, связанного с вновь принятой выборкой.
Как видно на фиг. 16, при работе в соответствии с данным вариантом воплощения, аналогично предыдущим вариантам воплощения, для каждой выборки приемник принимает выборку сигнала и подает эту выборку на вход первого запоминающего устройства 22 (см. этап 1000). Для каждого коэффициента на входы второго запоминающего устройства подаются сигналы 18 и 20, представляющие номер выборки и номер коэффициента (см. этап 1010), и на основе этих входных сигналов второе запоминающее устройство подает на выход маркер (см. этап 1020). На основе маркера и выборки первое запоминающее устройство генерирует компонент, представляющий вклад выборки в коэффициент (см. этап 1030).
Если либо знак сигнала будет отрицательным, либо знаковый бит маркера будет установлен в единицу, второе запоминающее устройство И подает на выход бит переноса, поступающий на сумматор 36. Сумматор сделает выход первого запоминающего устройства отрицательным (см. этапы 1040 и 1050). Аналогично, если либо сигнал, либо маркер указывает на нулевое значение, первым логический элемент 28 И будет подавать на выход нулевое значение. Нулевое значение подается на первое запоминающее устройство, которое отключает первое запоминающее устройство. Благодаря отключению первого запоминающего устройства, устройство 34 обнуления или сброса выводит нулевое значение, представляющее значение коэффициента (см. этапы 1060 и 1070). В случае нулевого значения знак игнорируется. Затем на выход подается компонент коэффициента.
Компонент затем поступает на сумматор 44, который также принимает предыдущее значение коэффициента с третьего запоминающего устройства 48. Третье запоминающее устройство также подключено ко второму запоминающему устройству. Маркер со второго запоминающего устройства производит адресацию коэффициента, записанного в третьем запоминающем устройстве, которое, в свою очередь, подает выходной сигнал на сумматор для прибавления к компоненту. Производится прибавление компонента к существующему коэффициенту с помощью сумматора (см. этап 1080).
Четвертое запоминающее устройство также подключено ко второму запоминающему устройству. Маркер со второго запоминающего устройства производит адресацию компонента, записанного в четвертом запоминающем устройстве, который представляет собой компонент, связанный с первой выборкой множества выборок (то есть, самой старой выборкой). Компонент поступает на сумматор 68, где этот компонент вычитается из обновленного коэффициента (см. этап 1090). Компонент, связанный с новой выборкой, записывается в четвертом запоминающем устройстве (см. этап 1100), обновленный коэффициент записывается в третьем запоминающем устройстве (см. этап 1110), и также подается на выход (см. этап 1120). Вышеприведенные этапы повторяют для каждого коэффициента до тех пор, пока все коэффициенты не будут обновлены с этой выборкой (см. этапы 1130 и 1140).
Как показано в некоторых из вышеприведенных вариантов воплощения, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением могут использоваться параллельно для набора каналов, для которых настоящее изобретение генерирует для каждого канала коэффициентов функции, представляющие сигнал в данном канале. Как указано выше, настоящее изобретение определяет коэффициенты функции, представляющей сигнал, путем комбинирования каждой выборки при приеме с математической функцией, взаимосвязанной с выборкой и коэффициентом. Кроме того, как указано выше, различные комбинации выборок и коэффициентов могут быть заранее вычислены и записаны в адресуемое запоминающее устройство или могут быть вычислены с помощью управляемой функции со ссылкой на значения, связанные с маркером. Обычно маркеры, которые производят адресацию ячеек запоминающего устройства, получают из информации состояния, получаемой со счетчика, который указывает коэффициент и выборку. Хотя при нормальной работе маркеры и запоминающее устройство используются для определения коэффициентов функции, которая представляет сигнал, эти маркеры и запоминающие устройства также могут использоваться повторно путем прибавления битов к значению в счетчике в соответствующих местах и, таким образом, могут обслуживать множество каналов. В данном варианте воплощения дополнительные ячейки запоминающего устройства коэффициента содержат дополнительные коэффициенты, и номер канала может выводиться по требованию пользователя. При этом сохраняется возможность использовать электрический сигнал для определения прямых коэффициентов или для определения инверсной функции входного сигнала.
Кроме того, хотя при нормальной работе маркеры и запоминающее устройство используются для определения коэффициентов функции, которая представляет сигнал, эти маркеры и запоминающее устройство также могут использоваться повторно путем прибавления битов к значению в счетчике в соответствующих местах и, таким образом, могут обслуживать множество каналов. В данном варианте воплощения дополнительные ячейки запоминающего устройства коэффициента содержат дополнительные коэффициенты, и номер канала может выводиться по требованию пользователя. При обработке последовательных выборок по различным каналам становится возможным, таким образом, производить преобразование с чередованием. Преобразование с чередованием может быть отправлено на второй аналогичный процесс для получения, например, двумерного преобразования.
Как указано выше, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением позволяют не только определять коэффициенты функции, но также и коэффициенты инверсной функции. Это выполняется во многих случаях путем переключения адресов маркеров так, что маркеры производят адресацию значений, представляющих инверсную функцию. В случаях, когда генератор коэффициента используется с множеством каналов, генератор коэффициента может предпочтительно управляться таким образом, что для одного канала он будет вычислять коэффициенты функции, представляющей один сигнал, и при этом также формировать коэффициенты инверсной функции другого сигнала для отдельного канала.
Как описано в различных вариантах воплощения, представленных выше, устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением производят обновление каждого коэффициента по мере приема каждой выборки. Кроме того, в некоторых вариантах воплощения устройство, способы и компьютерные программные продукты в соответствии с настоящим изобретением подают на выход коэффициенты каждый раз при приеме новой выборки. Это является предпочтительным, поскольку это позволяет производить наблюдение и отслеживание отдельных интересующих коэффициентов. Может производиться отслеживание отдельных интересующих коэффициентов путем управления генератором коэффициентов так, что он будет выводить эти коэффициенты. Это предоставляет пользователю новый набор коэффициентов для наблюдения в режиме реального времени или в режиме, близком к режиму реального времени.
Дополнительное преимущество состоит в том, что коэффициенты также могут обновляться с различной разрешающей способностью. В частности, это может иметь место, когда некоторые из коэффициентов могут представлять больший интерес или когда ограничены ресурсы аппаратных средств так, что невозможно обеспечить соответствующие обработку и запись всех коэффициентов. В этих случаях генератор коэффициента может управляться таким образом, что он будет обновлять только некоторые коэффициенты или будет обновлять некоторые коэффициенты с каждой выборкой, в то время как коэффициенты, представляющие меньший интерес, будут обновляться с меньшим количеством выборок.
Кроме устройства и способов, настоящее изобретение также направлено на компьютерные программные продукты для определения коэффициентов функции, представляющей входной сигнал, на основе заранее определенного множества выборок входного сигнала. Компьютерные программные продукты содержат считываемую компьютером запоминающую среду, содержащую считываемое компьютером средство программного кода, записанное в данной запоминающей среде. Считываемая компьютером запоминающая среда может заменить генератор коэффициента и выполнять функции генератора коэффициента с использованием программных средств. Кроме того, считываемая компьютером запоминающая среда может управлять генератором коэффициента, формируя адреса для определения коэффициентов.
Считываемое компьютером средство программного кода включает первое средство компьютерных инструкций для поочередного получения каждой выборки. Кроме того, считываемое компьютером средство программного кода включает второе средство компьютерных инструкций для обновления коэффициентов функций на основе каждой выборки, по мере приема выборок без ожидания приема всех выборок с тем, чтобы, таким образом, уменьшить задержку времени, требуемого для определения коэффициентов функций. В еще одном варианте воплощения каждый коэффициент состоит, по меньшей мере, из одного компонента, который, по меньшей мере, частично основывается на комбинации выборки и математической функции. В данном варианте воплощения считываемое компьютером средство программного кода дополнительно включает третье средство компьютерной инструкции для определения соответствующего компонента каждого коэффициента путем комбинирования каждой выборки при приеме с математической функцией, связанной с этой выборкой и коэффициентом. В еще одном варианте воплощения каждая выборка вносит вклад только в один компонент каждого коэффициента. В данном варианте воплощения второе средство компьютерных инструкций обновляет каждый из коэффициентов на основе каждой выборки после приема, без необходимости записи выборки после этого.
Настоящее изобретение также направлено на компьютерные программные продукты для уменьшения количества значений, которые необходимо записывать для представления возможных математических компонентов функции. В данном варианте воплощения компьютерные программные продукты включают считываемую компьютером запоминающую среду, имеющую считываемое компьютером средство программного кода, воплощенное в данной запоминающей среде. Считываемое компьютером средство программного кода включает первое средство компьютерных инструкций для генерирования первого списка всех возможных математических компонентов функции. Второе средство компьютерных инструкций производит систематическое сравнение каждого математического компонента в списке со всеми другими математическими компонентами в списке для определения, какой из математических компонентов является избыточным. Считываемый компьютером программный код также включает третье средство компьютерных инструкций, предназначенное для записи во втором списке всех уникальных математических компонентов функций, так, что во втором списке отсутствуют избыточные математические компоненты функции.
В одном из вариантов воплощения настоящего изобретения функция является периодической и симметричной относительно нуля, так, что некоторые математические компоненты функции имеют одинаковую величину и различные знаки. В этом варианте воплощения второе средство компьютерной инструкции производит сравнение величины каждого математического компонента в списке с величиной каждого из других математических компонентов в списке для определения, какой из математических компонентов имеет такую же величину. Кроме того, третье средство компьютерных инструкций производит запись во втором списке всех математических компонентов, имеющих уникальные величины. Считываемое компьютером средство программного кода в данном варианте воплощения дополнительно включает четвертое средство компьютерных инструкций, предназначенных для создания маркера, связанного с каждым математическим компонентом, где маркер указывает величину, записанную во второй список в связи с математическим компонентом и знаком, связанными с математическим компонентом.
В другом варианте воплощения, по меньшей мере, один из математических компонентов имеет величину, равную нулю. В данном варианте воплощения считываемое компьютером средство программного кода включает четвертое средство компьютерных инструкций для создания маркера, связанного с компонентом, который указывает, что данный компонент равен нулю, так, что указанный этап записи не производит запись математического компонента во втором списке.
В некоторых вариантах воплощения считываемое компьютером средство программного кода дополнительно содержит четвертое средство компьютерной инструкции, предназначенное для адресации каждого из математических компонентов во втором списке, так, что можно производить поиск этих математических компонентов. В дополнительном варианте воплощения функция представляет сигнал и определяется по выборкам сигнала, где выборка сигнала представляет собой одно из конечного множества возможных значений. В данном варианте воплощения первое средство компьютерной инструкции генерирует первый список всех возможных комбинаций возможных значений выборки и математических компонентов функции. Затем второе средство компьютерной инструкции производит систематическое сравнение каждой комбинации из списка со всеми другими комбинациями в списке для определения избыточных комбинаций, и третье средство компьютерной инструкции записывает во втором списке все уникальные комбинации, так, что в этом втором списке отсутствуют избыточные комбинации.
Кроме компьютерных программных продуктов, которые генерируют коэффициенты функции, и компьютерных программных продуктов, которые уменьшают количество записанных значений, настоящее изобретение также направлено на компьютерные программные продукты, которые генерируют схемные конструктивные решения или компьютерную программу, которая определяет коэффициенты функции путем обновления, по меньшей мере, одного из коэффициентов до приема последней выборки. В частности, как известно в данном уровне техники, существуют компьютерные программы, которые позволяют вводить определенные параметры и выводить схемные конструктивные решения или компьютерное программное обеспечение для воплощения функций, определяемых параметрами. Настоящее изобретение направлено на компьютерный программный продукт, который принимает параметры, соответствующие функциям, которые должны выполняться системой и генерирует либо схемное конструктивное решение, либо компьютерную программу для воплощения этих функций. Например, в одном из вариантов воплощения компьютерный программный продукт получает все возможные математические компоненты функций и генерирует либо схему, либо компьютерную программу, которая использует возможные математические функции для генерирования коэффициентов функции с уменьшенными аппаратными средствами или уменьшенным объемом накопителя данных.
В этом отношении на фиг. 1-16 представлены иллюстрации блок-схем, алгоритмов и последовательности этапов управления, иллюстрирующие способы, системы и программные продукты в соответствии с настоящим изобретением. Следует понимать, что иллюстрации каждого блока или этапы блок-схемы, этапы алгоритма и последовательности управления, а также комбинации блоков в блок-схемах, алгоритмах и этапах последовательности управления могут выполняться инструкциями компьютерных программ. Эти инструкции компьютерных программ могут загружаться в компьютер или другое программируемое устройство для получения машины так, что инструкции, которые выполняются на компьютере или другом программируемом устройстве, создают средство для воплощения функций, указанных в блоке (блоках), или этапе (этапах) блок-схемы алгоритма, или последовательности управления. Эти инструкции компьютерных программы могут также быть записаны в считываемое компьютером запоминающее устройство, которое может управлять компьютером или другим программируемым устройством для функционирования определенным образом, так, что инструкции, записанные в считываемом компьютером запоминающем устройстве, производят продукт производства, включающий средство инструкций, который воплощает функцию, указанную в блоке (блоках) или этапе (этапах) блок-схемы, алгоритма или последовательности управления. Эти компьютерные программные инструкции могут также быть загружены в компьютер или другое программируемое устройство для выполнения последовательностей этапов работы, которые должны выполняться в компьютере или другом программируемом устройством, для получения процесса, воплощенного в компьютере, так, что инструкции, которые выполняются на компьютере или другом программируемом устройстве, формируют этапы для выполнения функций, указанных в блоке (блоках), этапе (этапах) блок-схемы алгоритма или последовательности операций управления.
В соответствии с этим иллюстрации блоков или этапов блок-схемы, алгоритма или последовательности управляющих операций поддерживают комбинации средств для выполнения указанных функций, комбинации этапов для выполнения указанных функций и средств программных инструкций для выполнения указанных функций. Следует также понимать, что каждая иллюстрация блока или этапа блок-схемы, алгоритма или последовательности управляющих операций и комбинаций иллюстрации блоков или этапов в блок-схемах, алгоритмах или последовательностях управляющих операций могут быть воплощены с помощью специализированных аппаратных средств компьютерных систем, которые выполняют указанные функции, или этапы, или комбинации аппаратных средств специального назначения и компьютерных инструкций.
Claims (54)
1. Устройство для определения коэффициентов (А0, А1, А2,... и В0, В1, В2,...) функции, представляющей входной сигнал и выраженной как последовательность значений, например, дискретного преобразования Фурье (ДПФ), содержащее средство ввода, предназначенное для приема множества выборок (S1-Sn) входного сигнала, и генератор (10) коэффициента, предназначенный для генерирования коэффициентов функции, отличающееся тем, что генератор коэффициента содержит первое логическое средство (14, 22), соединенное со средством ввода, предназначенное для генерирования сигнала, представляющего вклад в коэффициент функции значения выборки, предназначенной для вычисления того, как генератор коэффициента получит последнюю выборку (Sn), и второе логическое средство (16, 24), соединенное с первым логическим средством и предназначенное для генерирования части функции на основе номера выборки (S1-Sn) и номера коэффициента (Cn), полученных вторым логическим средством, при этом в отношении данных выборок (S1-Sn) и номера коэффициента (Cn) генератор коэффициента выполнен таким образом, что второе логическое средство передает часть функции, соответствующую выборке и номеру коэффициента, на первое логическое средство (14, 22) и первое логическое средство умножает значение выборки (S1-Sn) на соответствующую часть функции, обеспечивая тем самым определение вклада значения выборки в коэффициент до получения генератором коэффициента последней выборки (Sn) и таким образом уменьшая задержку времени, требуемую для определения коэффициентов функции.
2. Устройство по п.1, отличающееся тем, что по меньшей мере одно из первого и второго логических средств содержит по меньшей мере одно из запоминающего устройства (22), умножителя и сумматора.
3. Устройство по п.1 или 2, отличающееся тем, что выборки подаются на средство ввода на основе внешних тактовых импульсов и первое и второе логические средства выполнены с возможностью использования внешних тактовых импульсов при обновлении коэффициентов.
4. Устройство по п.1 или 2, отличающееся тем, что по мере приема выборки второе логическое средство генерирует часть функции на основе номера выборки (S1-Sn) и номера коэффициента (Cn) для каждого коэффициента и первое логическое средство генерирует сигнал, представляющий вклад значения выборки в каждый коэффициент.
5. Устройство по п.4, отличающееся тем, что каждый коэффициент содержит по меньшей мере один компонент, который по меньшей мере частично основан на комбинации выборки и части функции, в котором первое логическое средство генератора (10) коэффициента определяет соответствующий компонент каждого коэффициента путем комбинирования каждой выборки после ее приема с частью функции, связанной с выборкой и коэффициентом, и в котором для каждого коэффициента первое логическое средство генератора коэффициента обновляет коэффициент путем добавления соответствующего компонента к предыдущему значению коэффициента.
6. Устройство по п.5, отличающееся тем, что каждая выборка производит вклад только в один компонент каждого коэффициента и в котором первое логическое средство генератора коэффициента (10) обновляет каждый коэффициент на основе каждой выборки после ее приема без необходимости записи выборки после этого.
7. Устройство по п.5, отличающееся тем, что первое логическое средство генератора (10) коэффициента обновляет каждый коэффициент с каждой из множества выборок по мере приема каждой выборки на основе частей функции, предоставляемых вторым логическим средством, и в котором первое логическое средство обновляет каждый коэффициент с последней (Sn) из множества выборок, причем первое логическое средство генератора коэффициента подает на выход коэффициент.
8. Устройство по п.5, отличающееся тем, что первое логическое средство генератора (10) коэффициента представляет собой запоминающее устройство (22), предназначенное для записи значения, представляющего часть функции, связанную с каждой выборкой и коэффициентом, и в котором для каждой выборки и коэффициента указанное первое логическое средство генератора коэффициента производит доступ к указанному запоминающему устройству и перемножает выборку на значение, представляющее часть функции, связанную с выборкой и коэффициентом, чтобы таким образом определить компонент, и после этого обновляет коэффициент путем добавления компонента к предыдущему значению коэффициента.
9. Устройство по п.8, отличающееся тем, что указанное запоминающее устройство (22) первого логического средства включает матрицу, содержащую множество ячеек, в котором в каждой ячейке матрицы записано значение, представляющее часть функции, связанную с соответствующей выборкой и коэффициентом, в котором каждая ячейка указанной матрицы содержит уникальный адрес, который определяется по соответствующим коэффициенту и выборке, и в котором для каждой выборки и коэффициента первое логическое средство генератора коэффициента производит доступ к ячейке указанного запоминающего устройства, используя адрес, связанный с выборкой и коэффициентом, перемножает выборку на записанное значение, чтобы таким образом определить компонент, и после этого обновляет коэффициент путем добавления компонента к предыдущему значению коэффициента.
10. Устройство по п.5, отличающееся тем, что каждая выборка сигнала содержит значение, которое является одним из конечного множества возможных значений, в котором первое логическое средство генератора коэффициента представляет собой первое запоминающее устройство (22), содержащее матрицу ячеек так, что каждая ячейка связана с соответствующими выборкой и коэффициентом, в котором каждая ячейка содержит заранее вычисленное значение, соответствующее комбинации одного из конечного множества возможных значений выборки и части функции, связанной с соответствующими коэффициентом и выборкой, и в котором каждая ячейка представлена адресом маркера.
11. Устройство по п.10, отличающееся тем, что второе логическое средство генератора (10) коэффициента содержит второе запоминающее устройство (24), содержащее матрицу ячеек для записи маркеров так, что каждая из них представляет соответствующий коэффициент, и выборку и в котором для каждой выборки и коэффициента второе запоминающее устройство принимает маркер, связанный с коэффициентом и выборкой, и передает маркер на указанное первое запоминающее устройство (22) и после этого производит поиск заранее вычисленного значения, записанного в ячейку указанного первого запоминающего устройства, которое содержит адрес, записанный в маркер, и значение выборки, и в котором указанный генератор (10) коэффициента дополнительно содержит сумматор, предназначенный для обновления коэффициента путем прибавления заранее вычисленного значения из указанного первого запоминающего устройства к предыдущему значению коэффициента.
12. Устройство по п.10, отличающееся тем, что второе логическое средство представляет собой логический элемент (14), предназначенный для адресации ячеек указанного первого запоминающего устройства, в котором для каждой выборки указанный логический элемент подает на выход маркер, связанный с коэффициентом и выборкой, в указанное первое запоминающее устройство, которое производит поиск заранее вычисленного значения, записанного в ячейку указанного первого запоминающего устройства, которое содержит адрес, содержащийся в маркере, и значение выборки, и в котором указанный генератор коэффициента дополнительно содержит сумматор, предназначенный для обновления коэффициента путем добавления заранее вычисленного значения из указанного первого запоминающего устройства к предыдущему значению коэффициента.
13. Устройство по п.10, отличающееся тем, что дополнительно содержит счетчик (26), электрически соединенный со вторым логическим средством генератора коэффициента для адресации ячеек указанного первого запоминающего устройства (22), в котором для каждой выборки маркер, связанный с коэффициентом и выборкой, выводится в указанное первое запоминающее устройство, и в котором первое запоминающее устройство производит поиск заранее вычисленного значения, записанного в ячейку указанного первого запоминающего устройства, которое содержит адрес, записанный в маркер, и значение выборки, и в котором указанный генератор коэффициента дополнительно содержит сумматор, предназначенный для обновления коэффициента путем добавления заранее вычисленного значения из указанного первого запоминающего устройства к предыдущему значению коэффициента.
14. Устройство по п.10, отличающееся тем, что каждый маркер также указывает, равно ли нулю значение части функции, связанной с соответствующими выборкой и коэффициентом, в котором указанный генератор (10) коэффициента дополнительно включает устройство (34) обнуления и в котором, если маркер указывает, что значение части функции равно нулю, указанный генератор коэффициента обновляет коэффициент путем добавления нуля из указанного устройства обнуления к предыдущему значению коэффициента.
15. Устройство по п.10, отличающееся тем, что каждый маркер также указывает, является ли знак части функции, связанной с соответствующими выборкой и коэффициентом, положительным или отрицательным, в котором указанное первое запоминающее устройство (22) содержит только заранее вычисленные значения, соответствующие комбинации соответствующей выборки и величине соответствующей части функции без учета знака части функции, снижая таким образом количество заранее вычисленных значений, которые записаны в указанном первом запоминающем устройстве.
16. Устройство по п.15, отличающееся тем, что указанный генератор (10) коэффициента дополнительно включает сумматор (36), электрически соединенный с указанным первым запоминающим устройством (22), и в котором, если указанный маркер указывает, что знак части функции является отрицательным, указанное первое запоминающее устройство подает на выход величину части функции и указанный сумматор принимает это выходное значение и генерирует отрицательную часть функции.
17. Устройство по п.12, отличающееся тем, что каждый маркер представляет соответствующие коэффициент и выборку, в котором указанный генератор (10) коэффициента дополнительно содержит селектор (42), электрически соединенный с указанным первым запоминающим устройством (22) и указанными логическими элементами, в котором для генерирования коэффициента, представляющего инверсную функцию сигнала, указанный селектор переключает выход указанного логического элемента так, что маркер, генерируемый указанным логическим элементом, производит адресацию ячейки в указанном первом запоминающем устройстве, содержащем заранее вычисленное значение, представляющее инверсную часть функции, связанную с соответствующими выборкой и коэффициентом, и в котором указанный генератор коэффициента обновляет коэффициент путем добавления заранее вычисленного значения из указанного первого запоминающего устройства к предыдущему значению коэффициента.
18. Устройство по п.17, отличающееся тем, что указанный генератор (10) коэффициента принимает выборки по очереди из множества сигналов так, что каждый из них представлен в отдельном канале, в котором указанный генератор коэффициента принимает каждую из выборок по одной для каждого из сигналов, и на основе маркеров от указанного логического элемента обновляет коэффициенты функции, связанной с каждой выборкой, на основе каждой выборки, связанной с сигналом, по мере приема выборки, в котором указанный селектор переключает выход указанного логического элемента для выборок, принятых по меньшей мере в одном из каналов, так, что указанный генератор коэффициента генерирует коэффициенты, представляющие инверсную функцию сигнала для по меньшей мере одного канала.
19. Устройство по п.4, отличающееся тем, что указанный генератор (10) коэффициента дополнительно содержит четвертое запоминающее устройство (66) и в котором указанный генератор коэффициента дополнительно записывает каждую из выборок по мере их приема в указанном запоминающем устройстве.
20. Устройство по п.19, отличающееся тем, что генератор коэффициента дополнительно содержит сумматор и после приема и обработки указанным генератором (10) коэффициента заранее определенного множества выборок указанный генератор коэффициента подает на выход коэффициенты и в котором, когда новая выборка входного сигнала принимается после заранее определенного множества выборок, принятых ранее, указанный сумматор вычитает компонент, полученный на основе первой выборки заранее определенного множества выборок, которые были ранее записаны в указанном четвертом запоминающем устройстве (66) из компонента, полученного на основе новой выборки, и в котором указанный сумматор обновляет коэффициенты на разность между компонентами, полученными на основе новой выборки и первой выборки заранее определенного множества выборок.
21. Устройство по п.19, отличающееся тем, что после приема и обработки указанным генератором (10) коэффициента заранее определенного множества выборок указанный генератор коэффициента подает на выход коэффициенты, и в котором при приеме новой выборки входного сигнала принимается заранее определенное множество выборок, принятых ранее, указанный сумматор вычитает компонент, полученный на основе первой выборки из заранее определенного множества выборок, который был ранее записан в указанном четвертом запоминающем устройстве (66), из каждого из коэффициентов, и в котором указанный сумматор добавляет компонент, полученный на основе новой выборки, к каждому из коэффициентов.
22. Устройство по п.1 или 2, отличающееся тем, что функция входного сигнала представляет собой преобразование Фурье, и в котором часть функции, связанная с каждыми коэффициентом и сигналом, представляет собой тригонометрическую функцию.
23. Устройство по п. 3, отличающееся тем, что имеется по меньшей мере один заранее выбранный интересующий коэффициент, и в котором первое логическое средство генератора (10) коэффициента принимает каждую из выборок по одной и обновляет заранее выбранный коэффициент функции на основе каждой выборки по мере приема выборки так, что может быть произведена оценка заранее выбранного коэффициента независимо от других коэффициентов.
24. Устройство по п. 23, отличающееся тем, что первое логическое средство генератора (10) коэффициента подает на выход заранее выбранный коэффициент каждый раз, когда этот коэффициент обновляется.
25. Устройство по п. 23, отличающееся тем, что имеются по меньшей мере первый и второй заранее выбранные интересующие коэффициенты, и в котором первое логическое средство генератора (10) коэффициента обновляет первый заранее выбранный интересующий коэффициент с отличающимся количеством выборок, чем второй заранее выбранный интересующий коэффициент, так, что разрешающая способность каждого заранее выбранного коэффициента будет различной.
26. Устройство по п. 3, отличающееся тем, что первое логическое средство генератора (10) коэффициента принимает выборки по одной из множества сигналов так, что каждый из них представлен в отдельном канале, в котором указанный генератор коэффициента принимает каждую из выборок по одной для каждого из сигналов и обновляет коэффициенты функции, взаимосвязанной с каждой выборкой на основе каждой выборки, связанной с сигналом, по мере приема выборки.
27. Устройство по п. 26, отличающееся тем, что первое логическое средство генератора (10) коэффициента одновременно принимает выборки по одной из множества сигналов, каждый из которых представлен в отдельном канале, в котором первое логическое средство принимает каждую из выборок по одной для каждого из сигналов и одновременно обновляет коэффициенты функции, взаимосвязанной с каждой выборкой на основе каждой выборки, связанной с сигналом, по мере приема выборки.
28. Способ определения коэффициентов (А0, Al, A2, ... и В0, B1, B2, ...) функции, представляющей входной сигнал и выраженной как последовательность значений, например, дискретного преобразования Фурье (ДПФ), содержащий следующие этапы: прием множества выборок (S1-Sn) входного сигнала с помощью средства ввода и генерирование коэффициентов функции с помощью генератора коэффициента, при этом генератор коэффициента содержит первое логическое средство (14, 22), соединенное со средством ввода, и второе логическое средство (16, 24), соединенное с первым логическим средством (14, 22); прием выборок сигнала с помощью средства ввода и генерирование с помощью второго логического средства части функции на основе номера выборки (S1-Sn) и номера коэффициента (Cn), полученных вторым логическим средством; передача части функции на первое логическое средство (14, 22); генерирование сигнала в первом логическом средстве, представляющего вклад значения выборки в коэффициент путем умножения значения выборки (S1-Sn) на соответствующую часть функции перед получением генератором коэффициента последней выборки (Sn), таким образом уменьшая задержку времени, требуемого для определения коэффициентов функции.
29. Способ по п.28, отличающийся тем, что по меньшей мере одно из первого и второго логических средств содержит по меньшей мере одно из запоминающего устройства (22), умножителя и сумматора.
30. Способ по п.28 или 29, отличающийся тем, что дополнительно содержит обновление по меньшей мере одного из коэффициентов перед приемом последней выборки из множества выборок, чтобы таким образом уменьшить задержку времени, необходимого для определения коэффициентов функции.
31. Способ по п.30, отличающийся тем, что на этапе приема выборок выборки подаются на основе тактовых импульсов и первое и второе логические средства выполнены с возможностью использования внешних тактовых импульсов при обновлении коэффициентов.
32. Способ по п.30, отличающийся тем, что указанный этап приема содержит прием каждой из выборок по одной, и при котором указанный этап обновления содержит обновление коэффициентов функции на основе каждой выборки по мере приема выборки без ожидания приема всех выборок, что таким образом уменьшает задержку времени, необходимого для определения коэффициентов функции.
33. Способ по п.32, отличающийся тем, что каждый коэффициент состоит по меньшей мере из одного компонента, который по меньшей мере частично основывается на комбинации выборки и части функции, в котором указанный способ дополнительно содержит этап определения соответствующего компонента каждого коэффициента с помощью первого логического средства путем комбинирования каждой выборки при приеме с частью функции, взаимосвязанной с выборкой и коэффициентом, и при котором для каждого коэффициента на указанном этапе обновления производится обновление коэффициента путем добавления соответствующего компонента к предыдущему значению коэффициента.
34. Способ по п.33, отличающийся тем, что каждая выборка производит вклад только в один компонент каждого коэффициента, и при котором на указанном этапе обновления производится обновление каждого из коэффициентов на основе каждой выборки при приеме без необходимости последующей записи этой выборки.
35. Способ по п.33, отличающийся тем, что на указанном этапе обновления производится обновление каждого из коэффициентов с каждым множеством выборок по мере приема каждой выборки, и при котором каждый коэффициент обновляется с последней из множества выборок, причём на указанном этапе обновления производится вывод коэффициента.
36. Способ по п.33, отличающийся тем, что на указанном этапе обновления производится обновление каждого из коэффициентов одновременно на основе каждой из множества выборок по мере приема каждой выборки, и при котором, когда производится обновление коэффициентов на основе последней из множества выборок, на указанном этапе обновления производится вывод коэффициентов.
37. Способ по п.33, отличающийся тем, что первое логическое средство содержит запоминающее устройство (22) и дополнительно содержит этап первоначальной записи значения, представляющего часть функции, связанную с каждой выборкой и коэффициентом в запоминающем устройстве (22), и при котором для каждой выборки и коэффициента на указанном этапе определения производится доступ к запоминающему устройству и умножение выборки на значение, представленное частью функции, связанной с выборкой и коэффициентом, чтобы таким образом определить компонент, и при котором на указанном этапе обновления производится обновление коэффициента путем добавления компонента к предыдущему значению коэффициента.
38. Способ по п.37, отличающийся тем, что запоминающее устройство (22) включает матрицу, содержащую множество ячеек, при котором указанный этап записи включает запись в каждую ячейку матрицы значения, представляющего часть функции, связанную с соответствующими выборкой и коэффициентом, при котором каждая ячейка матрицы содержит уникальный адрес, который определяется соответствующими коэффициентом и выборкой, и при котором для каждой выборки и коэффициента на указанном этапе определения производится доступ к ячейке запоминающего устройства, используя адрес, связанный с выборкой и коэффициентом, умножение выборки на записанное значение, чтобы таким образом определить компонент, и после этого на указанном этапе обновления производится обновление коэффициента путем добавления компонента к предыдущему значению коэффициента.
39. Способ по п.33, отличающийся тем, что первое логическое средство содержит запоминающее устройство (22) и каждая выборка сигнала содержит значение, которое представляет собой одно из конечного множества возможных значений, в котором указанный способ дополнительно содержит этап записи в первое запоминающее устройство (22), содержащее матрицу ячеек, заранее вычисленных значений, соответствующих комбинации одного из конечного множества возможных значений выборки и части функции, связанной с каждым коэффициентом и выборкой так, что каждая ячейка связана с соответствующей выборкой, коэффициентом и конечным значением выборки, и при котором каждая ячейка представлена адресом маркера.
40. Способ по п.39, отличающийся тем, что второе логическое средство содержит второе запоминающее устройство (24) и дополнительно содержит этап записи во второе запоминающее устройство (24), которое содержит матрицу маркеров ячеек так, что каждая из них представляет соответствующие коэффициент и выборку, при котором для каждой выборки на указанном этапе определения производится доступ ко второму запоминающему устройству и для каждого коэффициента производится поиск маркера, связанного с коэффициентом и выборкой, этот маркер передается в первое запоминающее устройство (22) и после этого производится поиск заранее вычисленного значения, записанного в ячейку первого запоминающего устройства, которая содержит адрес, составленный из маркера и значения выборки, и при котором на указанном этапе обновления производится обновление коэффициента путем добавления заранее вычисленного значения из первого запоминающего устройства к предыдущему значению коэффициента.
41. Способ по п.39, отличающийся тем, что дополнительно содержит этап адресации ячеек первого запоминающего устройства (22), в котором для каждой выборки на указанном этапе адресации производится вывод маркера, связанного с коэффициентом и выборкой, в первое запоминающее устройство, и при котором на указанном этапе определения производится поиск заранее вычисленного значения, записанного в ячейку первого запоминающего устройства, которая содержит адрес, составленный из маркера и значения выборки, и при котором на указанном этапе обновления производится обновление коэффициента путем добавления заранее вычисленного значения из первого запоминающего устройства к предыдущему значению коэффициента.
42. Способ по п.39, отличающийся тем, что каждый маркер также указывает, равно ли значение части функции, связанной с соответствующими выборкой и коэффициентом, нулю, и при котором на указанном этапе обновления производится обновление коэффициента путем добавления нуля к предыдущему значению коэффициента, если маркер указывает, что значение части функции равно нулю.
43. Способ по п.39, отличающийся тем, что каждый маркер также указывает, является ли знак части функции, связанной с соответствующими выборкой и коэффициентом, положительным или отрицательным, при котором указанный этап записи в первое запоминающее устройство содержит запись только заранее вычисленных значений, соответствующих комбинации соответствующей выборки и величине, соответствующей части функции без учета знака части функции, благодаря чему уменьшается количество заранее вычисленных значений, которые записаны в первое запоминающее устройство.
44. Способ по п.39, отличающийся тем, что каждый маркер представляет соответствующие коэффициент и выборку, при котором указанный способ дополнительно содержит этап выбора маркеров, при котором для генерирования коэффициентов, представляющих инверсную функцию сигнала, на указанном этапе выбора производится переключение содержания маркера таким образом, что маркер производит адресацию к ячейке в первом запоминающем устройстве, содержащей заранее вычисленное значение, представляющее инверсную часть функции, связанную с соответствующими выборкой и коэффициентом, и при котором на указанном этапе обновления производится обновление коэффициента путем добавления заранее вычисленного значения из первого запоминающего устройства к предыдущему значению коэффициента.
45. Способ по п.44, отличающийся тем, что на указанном этапе приема производится прием выборки по одной из множества сигналов так, что каждый из них представлен в отдельном канале, при котором на указанном этапе определения производится прием каждой из выборок по одной для каждого из сигналов и на основе маркеров из указанного этапа выбора производится обновление коэффициентов функции, связанной с каждой из выборок на основе каждой выборки, связанной с сигналом, по мере приема выборки, при котором на указанном этапе выбора производится переключение маркера для выборок, принятых по меньшей мере из одного из каналов, так, что на указанном этапе определения генерируются коэффициенты, представляющие инверсную функцию сигнала по меньшей мере для одного канала.
46. Способ по п.33, отличающийся тем, что дополнительно содержит этап записи каждой из выборок по мере приема их в запоминающем устройстве.
47. Способ по п.46, отличающийся тем, что после того как на указанном этапе приема будет произведен прием и на указанном этапе обновления будет произведена обработка заранее определенного множества выборок, на указанном этапе обновления вводятся коэффициенты, и при котором, когда новая выборка входного сигнала принимается на указанном этапе обновления после того, как было принято заранее определенное множество выборок, указанный способ дополнительно содержит этап вычитания компонента, основанного на первой выборке из заранее определенного множества выборок, который был ранее записан на указанном этапе записи, из компонента, основанного на новой выборке, и при котором указанный этап обновления содержит обновление коэффициентов на разность между компонентами на основе новой выборки и первой выборки из заранее определенного множества выборок.
48. Способ по п.46, отличающийся тем, что после того как на указанном этапе приема будет произведен прием и на указанном этапе обновления будет произведена обработка заранее определенного множества выборок, на указанном этапе обновления будут выведены коэффициенты, и при котором, когда новая выборка входного сигнала будет принята на указанном этапе приема после того, как заранее определенное множество выборок уже было принято, указанный способ дополнительно содержит этап вычитания компонента, основанного на первой выборке заранее определенного множества выборок, которые были ранее записаны на указанном этапе записи, из каждого из коэффициентов, и при котором указанный этап обновления содержит добавление компонента, основанного на новой выборке, к каждому из коэффициентов.
49. Способ по п.28 или 29, отличающийся тем, что функция входного сигнала представляет собой преобразование Фурье, и при котором часть функции, связанная с каждым коэффициентом и сигналом, представляет собой тригонометрическую функцию.
50. Способ по п.30, отличающийся тем, что имеется по меньшей мере один заранее выбранный интересующий коэффициент, при котором указанный этап приема содержит прием каждой из выборок по одной и указанный этап обновления содержит обновление заранее выбранного коэффициента функции на основе каждой выборки по мере приема выборки так, что может быть проведена оценка заранее выбранного коэффициента независимо от других коэффициентов.
51. Способ по п.50, отличающийся тем, что на указанном этапе обновления выводится заранее выбранный коэффициент каждый раз, когда этот коэффициент обновляют.
52. Способ по п.51, отличающийся тем, что имеется по меньшей мере один первый и второй заранее выбранные интересующие коэффициенты, и при котором на указанном этапе обновления производится обновление первого заранее выбранного интересующего коэффициента с количеством выборок, отличающимся от второго заранее выбранного интересующего коэффициента так, что разрешающая способность каждого из выбранных коэффициентов будет различна.
53. Способ по п.30, отличающийся тем, что на указанном этапе приема принимают выборки по одной из множества сигналов, причем каждый из них представлен в отдельном канале, при котором на указанном этапе обновления производится прием каждой из выборок по одной для каждого из сигналов и обновление коэффициентов функции, связанной с каждой выборкой, на основе каждой выборки, связанной с сигналом по мере приема выборки.
54. Способ по п.53, отличающийся тем, что на указанном этапе приема одновременно производится прием выборки по одной из множества сигналов, причем каждый из них представлен в отдельном канале, при котором на указанном этапе обновления производится прием каждой из выборок по одной для каждого из сигналов и одновременно обновляются коэффициенты функции, связанной с каждой из выборок, на основе каждой выборки, связанной с сигналом, по мере приема выборки.
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13166199P | 1999-04-29 | 1999-04-29 | |
US13182599P | 1999-04-29 | 1999-04-29 | |
US13165699P | 1999-04-29 | 1999-04-29 | |
US60/131,661 | 1999-04-29 | ||
US60/131,858 | 1999-04-29 | ||
US60/131,667 | 1999-04-29 | ||
US60/131,825 | 1999-04-29 | ||
US60/131,656 | 1999-04-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2001132151A RU2001132151A (ru) | 2003-07-20 |
RU2239867C2 true RU2239867C2 (ru) | 2004-11-10 |
Family
ID=34317347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2001132151/09A RU2239867C2 (ru) | 1999-04-29 | 2000-04-28 | Устройство, способы и компьютерные программные продукты для определения коэффициентов функции с уменьшенной задержкой |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2239867C2 (ru) |
-
2000
- 2000-04-28 RU RU2001132151/09A patent/RU2239867C2/ru not_active IP Right Cessation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8005883B2 (en) | Apparatus, methods, and computer program products for determining the coefficients of a function with decreased latency | |
US3638004A (en) | Fourier transform computer | |
EP0128298B1 (en) | Orthogonal transformer and apparatus operational thereby | |
US6317770B1 (en) | High speed digital signal processor | |
US4328555A (en) | Apparatus for computing two-dimensional discrete Fourier transforms | |
US4965761A (en) | Fast discrete fourier transform apparatus and method | |
JP4083387B2 (ja) | 離散フーリエ変換の計算 | |
US6728742B1 (en) | Data storage patterns for fast fourier transforms | |
RU2239867C2 (ru) | Устройство, способы и компьютерные программные продукты для определения коэффициентов функции с уменьшенной задержкой | |
EP1426872A2 (en) | Linear scalable FFT/IFFT computation in a multi-processor system | |
JPH06149861A (ja) | Dct及び逆dct演算装置並びにその演算方法 | |
EP0412826B1 (en) | Digital signal processing | |
KR100284181B1 (ko) | 패스트 퓨리에 변환(fft) 장치와 제어방법 | |
JP2732673B2 (ja) | 離散的コサイン変換装置 | |
KR19990085924A (ko) | 삼각함수 생성장치 및 방법 | |
JPH11259454A (ja) | フーリエ変換装置 | |
US3634668A (en) | Log spectrum decoding utilizing symmetry | |
EP0988604A1 (en) | Device for converting series of data elements | |
JPH0535773A (ja) | ベクトル除算方式とその装置 | |
Muniappan et al. | Walsh spectrum measurement in natural, dyadic, and sequency ordering | |
JP2708013B2 (ja) | Nポイントfftプロセッサ用メモリ制御回路 | |
JPH0644289A (ja) | 並列プロセッサのための線形回帰分散方法 | |
SU792261A1 (ru) | Цифровое устройство дл вычислени тригонометрических коэффициентов | |
RU2125291C1 (ru) | Устройство для вычисления скользящего спектра | |
JPH09128375A (ja) | 時系列データの周波数解析方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20090429 |