Заметки электроника
Простое - надёжнее!
Меню
  • Главная
  • Погода
  • Заметки
  • Календарь
  • Фотогалерея
  • Песни
  • Чтиво
  • Программы
  • Скачать
  • Связь и ссылки
  • Чехия
  • Lavka

Живёшь в Чехии?

Визуальный HTML редактор онлайн

  • Печать
  • E-mail
Информация о материале
Автор: Super User
Родительская категория: Заметки
Категория: Компьютерная повседневность
Создано: 23 января 2020
Обновлено: 25 апреля 2025
Просмотров: 1880
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

html editor online

https://html-online.com/editor/

 

MATLAB: Анализ пиков

  • Печать
  • E-mail
Информация о материале
Автор: Super User
Родительская категория: Заметки
Категория: Программирование
Создано: 07 апреля 2022
Обновлено: 25 апреля 2025
Просмотров: 1582
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
В этом примере показано, как выполнить базовый анализ пиков. Он поможет вам ответить на такие вопросы, как: Как найти пики в сигнале? Как измерить расстояние между пиками? Как измерить амплитуду пиков сигнала, на который влияет тренд? Как найти пики в зашумленном сигнале? Как найти локальные минимумы?

https://www.mathworks.com/help/signal/ug/peak-analysis.html

https://m.citytours.sg/3Rs_ppg-signal-processing-using-matlab_Ie56xP4.pdf

example: PPG -> FFT -> Peak detector -> bpm measure

 

% --Design Chebyshev Type II bandpass filter with a stopband attenuation of 40 dB
Wp = [0.02 0.10];  % Stopband Frequency (Normalised)
Ws = [0.015 0.2];  % Passband Frequency (Normalised)
Rp =   0.5;   % Passband Ripple (dB)
Rs =  50;     % Stopband Ripple (dB)
[n,Ws] = cheb2ord(Wp,Ws,Rp,Rs); % Filter Order

[A,B,C,D] = cheby2(n,40,[0.02 0.4]);

[sos,g] = ss2sos(A,B,C,D); % Convert To Second-Order-Section For Stability
PPG = filtfilt(sos, g, PPG); %-- filter by band-pass filter (noise and trend)

%[p,s,mu] = polyfit((1:numel(PPG)),PPG,6);
%f_y = polyval(p,(1:numel(PPG)),[],mu);
%PPG = PPG - f_y;        % Detrend data

%--find peaks
maxPPG = max(PPG); %-- find maximum
minPPG = min(PPG); %-- find minimum
thresholdPPG = 0.155; %-- setup threshold for peak detection

Prominence = (maxPPG - minPPG)*thresholdPPG;
[pks, locs]  = findpeaks(PPG,'MinPeakProminence',Prominence); %-- peak detection
TF_t = (fs/mean(diff(locs)))*60; %-- mean interval bpm


the frequency domain approach:

F=fft(PPG);
Nfft=length(PPG);
df=fs/Nfft;
f=(0:(Nfft-1))*df;
freqs=f(f<fs/2);
ampSpec=abs(F(1:length(freqs)));
[~,mxi] = max(ampSpec(2:length(freqs)));  %filtrate zero freq and find number of max value (cutting subzero freq.)

TF_f = freqs(mxi)*60; %-- bpm

LoraWAN with LoRa-E5 collection

  • Печать
  • E-mail
Информация о материале
Автор: Super User
Родительская категория: Заметки
Категория: Программирование микроконтроллеров
Создано: 14 июня 2022
Обновлено: 25 апреля 2025
Просмотров: 1104
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
1 https://github.com/topics/lora-e5
2 https://forum.digikey.com/t/using-the-low-level-sub-ghz-radio-driver-for-the-stm32wl-series/18253
3 https://github.com/punee995/LoRa-E5-Examples/tree/main/LoRa_E5_WAN/LoRaWAN/App
4. https://doc.riot-os.org/group__boards__lora-e5-dev.html
5. https://www.seeedstudio.com/blog/2021/10/21/invigorate-your-inspiration-for-iot-with-lora-e5-and-free-seeed-fusion-pcba-prototypes/?gclid=CjwKCAjw46CVBhB1EiwAgy6M4qZXE6N8lW2qnEXVLsIf2Bdsdr47nmkqiHogMtf8VgvbYg0beh9hEhoC7AgQAvD_BwE
6. https://www.seeedstudio.com/LoRa-E5-Wireless-Module-p-4745.html
7. https://wiki.seeedstudio.com/LoRa_E5_Dev_Board/
8. https://github.com/danak6jq/Seeed-LoRa-E5
9. https://github.com/bertrik/ttnhabbridge/issues/4 (MQTT at Helium and TTNv3)
10. https://learn.adafruit.com/the-things-network-for-feather/payload-decoding
11.https://npm.devtool.tech/@crapougnax/cayennelpp

VBA: finding description on another list of workbook and fill in current

  • Печать
  • E-mail
Информация о материале
Автор: Super User
Родительская категория: Заметки
Категория: Программирование
Создано: 17 августа 2022
Обновлено: 25 апреля 2025
Просмотров: 1065
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
Sub AddDescription_Click()
Set CurrentWorkbook = Workbooks(ActiveWorkbook.Name)
Set REF_SHEET = CurrentWorkbook.Sheets("REF_SHEET")
Set CURRENT_SHEET = CurrentWorkbook.Sheets("CURRENT_SHEET")

CURRENT_SHEET.Select
Set Rng = Range(Cells(2, 2), Cells(55, 2))

For Each cell In Rng
If IsEmpty(cell.Value) = False Then
 MNP = cell.Value
 REF_SHEET.Select

 Set Rng = Range(Cells(2, 2), Cells(38, 2))
    For Each cell2 In Rng
        If cell2.Value = MNP Then
        cell.Offset(0, 2).Value = cell2.Offset(0, 2).Value
        End If
    Next cell2
End If
Next cell

STM32 HAL: таймер не стартует после программирования через CUBE

  • Печать
  • E-mail
Информация о материале
Автор: Super User
Родительская категория: Заметки
Категория: Программирование микроконтроллеров
Создано: 03 сентября 2022
Обновлено: 25 апреля 2025
Просмотров: 1371
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
Итак вы запрограммировали свой TIM16 таймер, но после запуска с удивлением обнаруживаете, что прерывания не происходят?
Всего пару вещей нужно добавить ( например, в main.c):

1. Определить коллбэк

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)

{
   if (htim == &htim16)
   {
      HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_9);
   }
}

2. Вызвать
  //  __HAL_TIM_ENABLE_IT(&htim16, TIM_IT_UPDATE);
  HAL_TIM_Base_Start_IT(&htim16);
HAL_NVIC_SetPriority(TIM16_IRQn, 0, 0); HAL_NVIC_EnableIRQ(TIM16_IRQn); __HAL_TIM_ENABLE_IT(&htim16, TIM_IT_UPDATE);
  1. VBA - скрипт для MS Excel - ищем текст во всех файлах внутри папки
  2. Создаём приложения с красочным и управляемым интерфейсом в Visual Studio Code
  3. Турбины Фибоначчи
  4. Maker Faire Brno

Страница 10 из 197

  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

Back to Top

© 2026 Заметки электроника

Top.Mail.Ru