Си: преобразование double или float в массив char:

double d;
char * ba = (char *)(&d);

Теперь, обращаясь к элементам массива ba, можно узнать из чего состоит переменная типа double или сформировать её из отдельных байт:

ba[0]; // Первый байт
ba[sizeof(d)-1]; // Последний байт

Реклама

Гармоники меандра

Меандр — это периодический сигнал вида:

На графике:

  • t  — время;
  • f(t)  — функция меандра;
  • A — амплитуда меандра;
  • T — период меандра;
  • tPos — длительность положительного импульса;
  • tNeg — длительность отрицательного импульса;

У меандра длительности импульсов равны:

t_{Pos}=t_{Neg}

Функцию меандра можно представить в виде ряда:

f(t)=A\frac{4}{\pi}\sum_{n=1}^{\infty}\frac{sin((2n-1)2\pi f t)}{2n-1}

где:

  • 2n-1 = h — номер гармоники;
  • f=\frac{1}{T}  — частота меандра.

Меандр состоит из нечетных гармоник (h = 1, 3, 5 и т. д.), это учитывается выражением 2n-1, которое принимает только нечетные значения.

Представим ряд в более простой форме:

f(t)=A\frac{4}{\pi}\left(sin(\omega t)+\frac{1}{3}sin(3\omega t)+\frac{1}{5}sin(5\omega t)+...\right)

где ω — это угловая частота:

\omega=2\pi f

Пример: если частота меандра равна 50 Гц, то меандр представляет из себя сумму синусоид (гармоник) с частотами 50 Гц, 150 Гц, 250 Гц и т. д.

Выделить из меандра синусоидальный сигнал можно с помощью полосового фильтра с резонансной частотой равной частоте нечетной гармоники.

Действующее (среднеквадратичное) значение меандра равно амплитуде меандра:

RMS_M=A

Амплитуда гармоники рассчитывается по формуле:

A_h=\frac{4A}{\pi h}

Действующее значение гармоники рассчитывается по формуле:

RMS_h=\frac{A_h}{\sqrt{2}}=\frac{\sqrt{8}A}{\pi h}

Таблица действующих значений гармоник для некоторых амплитуд меандра:

Амплитуда меандра, A Гармоника, h
1 3 5
1 0,90032 0,30011 0,18006
1,1 0,99035 0,33012 0,19807
1,2 1,08038 0,36013 0,21608
1,3 1,17041 0,39014 0,23408
1,4 1,26044 0,42015 0,25209
1,5 1,35047 0,45016 0,27009
1,6 1,44051 0,48017 0,28810
1,7 1,53054 0,51018 0,30611
1,8 1,62057 0,54019 0,32411
1,9 1,71060 0,57020 0,34212
2 1,80063 0,60021 0,36013
2,1 1,89066 0,63022 0,37813
2,2 1,98070 0,66023 0,39614
2,3 2,07073 0,69024 0,41415
2,4 2,16076 0,72025 0,43215
2,5 2,25079 0,75026 0,45016
2,6 2,34082 0,78027 0,46816
2,7 2,43085 0,81028 0,48617
2,8 2,52089 0,84030 0,50418
2,9 2,61092 0,87031 0,52218
3 2,70095 0,90032 0,54019
3,1 2,79098 0,93033 0,55820
3,2 2,88101 0,96034 0,57620
3,3 2,97104 0,99035 0,59421
3,4 3,06108 1,02036 0,61222
3,5 3,15111 1,05037 0,63022
3,6 3,24114 1,08038 0,64823
3,7 3,33117 1,11039 0,66623
3,8 3,42120 1,14040 0,68424
3,9 3,51123 1,17041 0,70225
4 3,60127 1,20042 0,72025
4,1 3,69130 1,23043 0,73826
4,2 3,78133 1,26044 0,75627
4,3 3,87136 1,29045 0,77427
4,4 3,96139 1,32046 0,79228
4,5 4,05142 1,35047 0,81028
4,6 4,14146 1,38049 0,82829
4,7 4,23149 1,41050 0,84630
4,8 4,32152 1,44051 0,86430
4,9 4,41155 1,47052 0,88231
5 4,50158 1,50053 0,90032
5,1 4,59161 1,53054 0,91832
5,2 4,68164 1,56055 0,93633
5,3 4,77168 1,59056 0,95434
5,4 4,86171 1,62057 0,97234
5,5 4,95174 1,65058 0,99035
5,6 5,04177 1,68059 1,00835
5,7 5,13180 1,71060 1,02636
5,8 5,22183 1,74061 1,04437
5,9 5,31187 1,77062 1,06237
6 5,40190 1,80063 1,08038
6,1 5,49193 1,83064 1,09839
6,2 5,58196 1,86065 1,11639
6,3 5,67199 1,89066 1,13440
6,4 5,76202 1,92067 1,15240
6,5 5,85206 1,95069 1,17041
6,6 5,94209 1,98070 1,18842
6,7 6,03212 2,01071 1,20642
6,8 6,12215 2,04072 1,22443
6,9 6,21218 2,07073 1,24244
7 6,30221 2,10074 1,26044
7,1 6,39225 2,13075 1,27845
7,2 6,48228 2,16076 1,29646
7,3 6,57231 2,19077 1,31446
7,4 6,66234 2,22078 1,33247
7,5 6,75237 2,25079 1,35047
7,6 6,84240 2,28080 1,36848
7,7 6,93244 2,31081 1,38649
7,8 7,02247 2,34082 1,40449
7,9 7,11250 2,37083 1,42250
8 7,20253 2,40084 1,44051
8,1 7,29256 2,43085 1,45851
8,2 7,38259 2,46086 1,47652
8,3 7,47263 2,49088 1,49453
8,4 7,56266 2,52089 1,51253
8,5 7,65269 2,55090 1,53054
8,6 7,74272 2,58091 1,54854
8,7 7,83275 2,61092 1,56655
8,8 7,92278 2,64093 1,58456
8,9 8,01282 2,67094 1,60256
9 8,10285 2,70095 1,62057
9,1 8,19288 2,73096 1,63858
9,2 8,28291 2,76097 1,65658
9,3 8,37294 2,79098 1,67459
9,4 8,46297 2,82099 1,69259
9,5 8,55301 2,85100 1,71060
9,6 8,64304 2,88101 1,72861
9,7 8,73307 2,91102 1,74661
9,8 8,82310 2,94103 1,76462
9,9 8,91313 2,97104 1,78263

Запус терминала в Nautilus из контекстного меню папки

Настройка запуска терминала с выбором рабочей папки в Nautilus’е:

  1. На любой папке вызвать контекстное меню
  2. Выбрать «Открыть в другой программе…»
  3. В появившемся окне заполнить поле под надписью «Использовать собственную программу»:

gnome-terminal --working-directory=%U

Теперь, чтобы запустить терминал, надо вызвать контекстное меню для папки и выбрать «Открыть в gnome-terminal». Рабочая папка в терминале будет совпадать c папкой на которой был вызван терминал.

Малый и большой круги кровообращения таковыми не являются в полной мере. На самом деле круг один. См. картинку.

  • ПЖ — правый желудочек;
  • ПП — правое предсердие;
  • ЛЖ — левый желудочек;
  • ЛП  — левое предсердие.

Действующее значение

При оцифровке сигнала можно очень просто посчитать его действующее значение (среднеквадратичное отклонение). Для это следует: просуммировать значения, получаемые с АЦП, возведенные в квадрат; затем разделить сумму на количество этих значений и извлечь из результата корень. То есть, математически:

\sqrt{\frac{1}{N}\sum_{i=1}^{N}{x_i}^2}

где

  • N — количество значений;
  • x  — значение, выдаваемое АЦП.

Алгоритм:

  1. y = 0
  2. x = результат АЦ перобразования
  3. y = y + x*x
  4. Повторить N раз пункты 2 и 3
  5. y = y / N
  6. y = корень из y

Асcемблер MDK-ARM

Язык ассемблера — это язык кода, который анализируется и собирается ассемблером (armasm) в итоговый объектный код.

Синтаксис строк на языке ассемблера

Общий вид строк:

{обозначение} {инструкция|директива|псевдоинструкция} {;комментарий}

Строка состоит из трех необязательных секций.

обозначение — обычно, это метка. С инструкциями и псевдоинструкциями — всегда метка. С некоторыми директивами — обозначение переменной или константы.

Для облегчения чтения кода, длинная строка может быть разбита на несколько строк с помощью обратной косой черты (\) как на языке С. За обратной косой чертой не должны следовать любые другие символы (включая пробелы и табуляции).

Также можно использовать пустые строки для улучшения читаемости.

Ограничение строки составляет 4095 символов. Строка, разбитая обратными косыми чертами, имеет то же ограничение.

Литеры

Литеры могут выражаться:

  • Десятичными числами, например 123
  • Шестнадцатеричными числами, например 0x7B
  • Числами с любым основанием от 2 до 9 включительно, например 5_204 — число 204 с основанием 5
  • Числами с плавающей точкой, например 123.4
  • Логическими значениями: {TRUE} или {FALSE}
  • Одиночным символом, заключенным в одинарные кавычки, например 'w'
  • Строкой, заключенной в дойные кавычки, например "This is a string"
В большинстве случаев, строка, содержащая один символ, считается одиночным символом. Например ADD r0,r1,#"a" — верно, но ADD r0,r1,#"ab" — ошибка.