|
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 12
|
||||||
Взять fft от каждого столбца, а потом посчитать среднее арифметическое между столбцами.27.05.2013, 13:41. Показов 1617. Ответов 13
Метки нет (Все метки)
здравствуйте,
у меня есть вектор данных y, я разбил его на блоки M=buffer(y,1024), затем нужно взять fft от каждого столбца(вектора) ,а потом посчитать среднее арифметическое между столбцами.
0
|
||||||
| 27.05.2013, 13:41 | |
|
Ответы с готовыми решениями:
13
Посчитать среднее арифметическое каждого столбца двухмерного массива
|
|
|
|
| 27.05.2013, 14:04 | |
|
функция fft работает с вектором, поэтому если на вход подать матрицу, где по столбцам будут расположены
твои буфферезированные данные, то на выходе ты получишь как разу матрицу, где в столбцах будет бпф по каждому блоку
2
|
|
|
|
||||||
| 27.05.2013, 15:46 | ||||||
|
так как мало что понятно, то и ответ соответствующий
![]()
1
|
||||||
|
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 12
|
||||||
| 27.05.2013, 16:04 [ТС] | ||||||
|
В общем мне нада построить усредненный спектр сигнала,
разбив вектор на блоки потом fft от эти блоков(и их между собой усреднить, это наверно нада взять Среднее арифметическое не от столбцов, как я написал ,а от строчек.
0
|
||||||
|
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 12
|
|
| 28.05.2013, 22:08 [ТС] | |
|
Большое спасибо, все построилось.
Добавлено через 6 часов 24 минуты есть еще небольшой вопрос из этой же темы, имеется вектор строка S, мне нада создать новый вектор T и записать туда значения при условии, что T(i)=10^(0.1*S(i)) if 18<S(i)<22.4 T(i)=10^(0.1*S(i)) if 22,4<S(i)<28 вот пример из mathcad это перевод из третьоктавные значения частоты
0
|
|
|
|
|||||||
| 28.05.2013, 22:52 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 12
|
||
| 29.05.2013, 10:53 [ТС] | ||
|
нужно, что бы считывалось с каждого столбца (изначально у меня 512 частот, а в итоге должно остаться около 30), то есть T(1)=10^(0.1*S(1,15)) if 18<S(1,15)<22.4 S(i,j)* T(2)=10^(0.1*S(1,15)) if 22.4<S(1,18)<28 что, то вроде этого, извините, не знаю как правильно записать for i=1:12 T(1)=10^(0.1*S(1,i)) if 18<S(1,i)<22.4 и так перебирая matlab выбрал нужные )
0
|
||
|
|
|
| 29.05.2013, 15:03 | |
|
Что такое Т(1) и Т(2)?
Не по теме: ведь если в него вписывается несколько значений, то это не может быть числом, значит это должны быть массивы, тогда Т - двустолбцовая матрица, но тогда кол-во элементов в Т(1) и Т(2) должны быть равны.... :scratch:
0
|
|
|
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 12
|
|
| 30.05.2013, 01:53 [ТС] | |
|
да я все переврал там...не правильно.
![]() попробую пояснить заново и как должно быть :P есть вектор Частот f, ему соответствует вектор амплитуд S f=[ 17,4979, 18.8439, 20.1898, 21.5358, 22.8818, 24.2278, 25.5738 ..] S=[10,2203, 9.3661 , 9.4035 , 9.5820 , 8.9503 , 8.9035 , 9.9098 ..] на примере ((18<=f)&(f<22.4)); сюда попадают 3 Частоты из f(18.8439 20.1898 21.5358 ), тогда мне нужно сложить Амплитуды из вектора S на этих частотах (9.3661 9.4035 9.5820 ), то есть T1=9.3661+9.4035+9.5820 и так дальее для ((22.4<=f)&(f<28)), T2=8.9503+8.9035+9.9098 для f(22.8818 24.2278 25.5738) в итоге должно получиться около 30 значенийй амплитуд(T1,T2..Tn), которые уже в ручную можно записать в массив
0
|
|
|
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 12
|
|
| 30.05.2013, 13:37 [ТС] | |
|
это границы для 1/3окт. значений взятые из Госта. http://tehnorma.ru/normativbase/53/53297/index.htm таблица 1
Мне нужно просуммировать значения из вектора S, которые соответствуют частотам попавшим в диапазон (для каждого T он свой). В общем я ищу значения Амплитуд на 1/3окт значениях, а сами значения частоты(1/3 окт) я задам потом сам. длины векторов разумеется, равны, f(i,j) соответствует значениям S(i,j) или (1,j) т.к у меня вектор строка. T1 = sum( S( (18<=F)&(F<=22.4) ) ); в этом дипазоне будет частота 20Гц T2 = sum( S( (22<F)&(F<=28) ) ); 25 Гц T3 = sum( S( (28<=F)&(F<=35.5) ) ); 31,5 Гц T4 = sum( S( (35.5<F)&(F<=45) ) ); 40 Гц T5 = sum( S( (45<=F)&(F<=56) ) ); 50 Гц ... T30 = sum( S( (18000<=F)&(F<=22000) ) ) 20000 Гц
0
|
|
|
|
||||||
| 30.05.2013, 14:24 | ||||||
|
а эти граничные частоты fmin, fmax можно выразить формулой?
Добавлено через 2 минуты или где взять полный список частот? (в ГОСТе не нашел 18...22.4, 22.4...28 и т.п. )Добавлено через 5 минут Другими словами я хочу сделать такую конструкцию:
1
|
||||||
|
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 12
|
||||
| 30.05.2013, 15:06 [ТС] | ||||
, думал что нада индексировать вектор и прочее, а оказалось куда прощеСпасибо еще раз 44 50 56, тогда 22 25 28 и т.д. из ГОСТа третьоктавная полоса (one-third-octave band): Диапазон частот, в котором верхняя частота равна нижней частоте, умноженной на кубический корень из двух (приблизительно на 1,26) ![]() Добавлено через 14 минут .
0
|
||||
| 30.05.2013, 15:06 | |
|
Помогаю со студенческими работами здесь
14
Среднее арифметическое каждого столбца матрицы Среднее арифметическое каждого столбца матрицы
Среднее арифметическое каждого столбца матрицы Найти среднее арифметическое каждого столбца Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|