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

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

11 июля. Москва. Ожидается прохладная облачная с прояснениями погода

  • Печать
  • E-mail
Информация о материале
Автор: Super User
Родительская категория: Погода
Категория: Альтернативная погода от wow-only.ru
Создано: 11 июля 2014
Обновлено: 11 июля 2014
Просмотров: 4639
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
Атмосферное давление пошло вверх. А значит скоро через плотную пелену облаков проглянет Солнце.
 Ожидаем смены погоды на облачную  с прояснениями,  "расчистка" может произойти к ночи и тогда этой ночью будет довольно прохладно, до +8.

Атмосферное давление растёт
 

Полиноминальная и дробная аппроксимация тригонометрических функций. От float к FIXED

  • Печать
  • E-mail
Информация о материале
Автор: Super User
Родительская категория: Заметки
Категория: Программирование микроконтроллеров
Создано: 20 июня 2014
Обновлено: 26 июня 2014
Просмотров: 5883
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

  (заметка будет дописываться)

Цель: аппроксимация функции asin целочисленными линейными полиномами совместно с табличным методом с целью увеличения скорости вычислений и уменьшения расхода памяти при вычислениях на процессоре с фиксированной точкой PIC18F. Нотация представления 1.0 float eq 16384 int.

1. Разобьем функцию в диапазоне аргументов x=  0.. 1.0 на более мелкие участки, длина которых обратно пропорциональна log2N. Для этого используем MATLAB.

Весь участок выглядит так, как показано на рисунке 1.

Арксинус

Рис.1 Арксинус (в радианах) на участке  x=  0.. 1.0. arcsin(x). 

M-файл:

clear;
indx=0;
for argum= 0.00:1./16384.:16384./16384.
%нумерация для массивов, которые будем использовать для аппроксимации
insideidx0 = mod(indx,8192)+1;
insideidx1 = mod(indx,4096)+1;
insideidx2 = mod(indx,2048)+1;
insideidx3 = mod(indx,1024)+1;
insideidx4 = mod(indx,512)+1;
insideidx5 = mod(indx,256)+1;
insideidx6 = mod(indx,128)+1;
insideidx7 = mod(indx,64)+1;
insideidx8 = mod(indx,32)+1;
 %сложность аппроксикации возникает в конце, где возрастает нелинейность, переворачиваем нумерацию для построения условий
indx_c = 16384 - indx ;
if(indx_c > 8192)
  asinout_0(insideidx0) = asin(argum);
  xcoord_0(insideidx0) = argum;
else
  if(indx_c > 4096)
  asinout_1(insideidx1) = asin(argum);
  xcoord_1(insideidx1) = argum;
  else
  if(indx_c > 2048)
  asinout_2(insideidx2) = asin(argum);
  xcoord_2(insideidx2) = argum;
  else
  if (indx_c > 1024)
  asinout_3(insideidx3) = asin(argum);
  xcoord_3(insideidx3) = argum;
  else
  if (indx_c > 512)
  asinout_4(insideidx4) = asin(argum);
  xcoord_4(insideidx4) = argum;
  else
if (indx_c > 256)

  asinout_5(insideidx5) = asin(argum);

  xcoord_5(insideidx5) = argum;

 

  else

 

  if (indx_c > 128)

  asinout_6(insideidx6) = asin(argum);

  xcoord_6(insideidx6) = argum;

 

  else

 

  if (indx_c > 64)

  asinout_7(insideidx7) = asin(argum);

  xcoord_7(insideidx7) = argum;

 

else

 

  if (indx_c > 32)

  asinout_8(insideidx8) = asin(argum);

  xcoord_8(insideidx8) = argum;

font-size: 10.0pt; font-family: 'Courier New'; color: blue; background: white; mso-highlight: white; mso-ansi-language: EN-US;

 

 end

 end

 end

 end

 end

 end

 end

end

 

end

 

indx = indx+1;

full_asin(indx)= asin(argum);

xcoord_full(indx) = argum;

 

end

Теперь мы имеем 8 массивов с длинами, кратными 2n : 8192, 4096, 2048, 1024, 512, 256, 128, 64, 32. Внутри этих участков функция ведёт себя близко к линейной.

2. Используем Curve Fitting Tool для аппроксимации полиномов (1-й степени):
Полином первой степени имеет вид:

f(x) = p1*x + p2

>> cftool

 

Рис.2 Настройки аппроксимации

 

Подробнее: Полиноминальная и дробная аппроксимация тригонометрических функций. От float к FIXED

Расчёт и измерение индуктивности. Индуктивность по известной частоте и ёмкости в колебательном контуре

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

Цель: определить количество витков, требуемых для получения определённой индуктивности на отдельно взятом сердечнике.

Измерить индуктивность можно косвенным способом. Например, использовав параллельный колебательный контур.

Итак: 

1. Берём сердечник, провод, ёмкость с хорошими характеристиками (NPO, C0G)
2. Наматываем известное количество витков провода на сердечник (например, N0=30).
3. Припаиваем параллельно полученной индуктивности конденсатор (в нашем примере 1.5 нФ, желательно измерить  ёмкость по-точнее) и 2 резистора (в нашем примере по 82 кОм).
Генератор сигналов и осциллограф подключаем согласно рисунку

Измеряем  индуктивность

Осциллограф подключается с включенным делителем на щупе. Изменяя частоту генератора, находят точку резонанса (максимальная амплитуда сигнала на экране осциллографа). 
Резистивная развязка должна быть достаточной, чтобы обеспечить высокую добротность контура, что нужно для определения резонансной частоты.

Частоту записываем. 
Теперь данных достаточно для написания несложной функции на M-языке для MATLAB, например, чтобы автоматизировать расчёты.

function N1 = induct(L_target)
N0=30;
f=1.598*10^6; %измеренная резонансная частота
C=1.458*10^-9; %измеренная заранее ёмкость
w=2*pi*f;
L=1/((w^2)*C); % индуктивность катушки с N0 витков
N1 = (sqrt(L_target/L))*N0; % искомое количество витков
end


В качестве примера расчёта:
>> induct(3.88*10^-6)
ans =
22.6554

Т.е. примерно 23 витка для индуктивности в 3.88 мкГн.

23 июня 2014. Москва. Ожидаются дожди. Вероятность грозы

  • Печать
  • E-mail
Информация о материале
Автор: Super User
Родительская категория: Погода
Категория: Альтернативная погода от wow-only.ru
Создано: 25 июня 2014
Обновлено: 25 июня 2014
Просмотров: 4454
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

 Близится достижение "ямы". Одновременно, в связи с некоторым прогревом воздуха на фоне пониженного атмосферного давления могут формироваться локальные грозовые фронты. На выходе из "ямы", если он будет резким, можно ожидать усиления ветра.

19,20 июня 2014. Москва. Облачно с прояснениями.

  • Печать
  • E-mail
Информация о материале
Автор: Super User
Родительская категория: Погода
Категория: Альтернативная погода от wow-only.ru
Создано: 19 июня 2014
Обновлено: 19 июня 2014
Просмотров: 4763
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Давление несколько подросло. Сегодня и завтра ожидается прохладная погода с переменной облачностью. Возможны кратковременные дожди.

Давление подрасло

В целом, атмосферное давление продолжает оставаться на невысоком уровне, однако направление ветра меняется, можно ожидать некоторого потепления на 20 июня.

  1. Скачать файл с помощью TotalCommander
  2. CORDIC - целочисленный и с плавающей точкой
  3. 11,12 июня 2014. Москва. Облачно с прояснениями. Дожди
  4. 9,10 июня 2014. Москва. Ожидаются дожди, грозы

Страница 186 из 190

  • 181
  • 182
  • 183
  • 184
  • ...
  • 186
  • 187
  • 188
  • 189
  • ...

Back to Top

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

Top.Mail.Ru