Aquela Questão é o que você estava procurando: Questões Resolvidas
Mostrando postagens com marcador Questões Resolvidas. Mostrar todas as postagens
Mostrando postagens com marcador Questões Resolvidas. Mostrar todas as postagens

quarta-feira, 13 de novembro de 2019

Bug: systemd-udevd Consumindo Muito ou até 100% da CPU, Conflito com o Bluetooth (BlueZ) :: Resolvido

Serviço systemd-udevd causando sobreaquecimento. Como resolver?

Questão: Como resolver conflito entre o serviço systemd-udevd e a regra hid2hci udev da bluez e por consequência diminuir o uso da CPU?

(O problema relatado ocorreu em um Dell Vostro 3500 com Debian 10 "Buster" e GPU NVIDIA® GeForce® 310M.)

Resposta: O procedimento explicado aqui é apenas uma solução  paliativa, mas inteiramente funcional.

O que é o BlueZ? BlueZ é a stack oficial de protocolos Linux Bluetooth. É um projeto de código aberto distribuído sob a GNU General Public License (GPL). O kernel BlueZ faz parte do kernel oficial do Linux desde a versão 2.4.6.

Ele fornece, de maneira modular, suporte para as principais camadas e protocolos Bluetooth. Atualmente, o BlueZ consiste em muitos módulos separados:
  • Núcleo do subsistema do kernel Bluetooth
  • Camadas do kernel de áudio L2CAP e SCO
  • Implementações de RFCOMM, BNEP, CMTP e HIDP
  • HCI UART, USB, PCMCIA e drivers de dispositivo virtual
  • Bibliotecas e daemons gerais Bluetooth e SDP
  • Utilitários de configuração e teste
  • Ferramentas de decodificação e análise de protocolo
É  possível encontrar mais informações na página inicial do BlueZ upstream aqui.

Já o systemd-udevd é responsável por escutar os eventos do kernel. Para cada evento, systemd-udevd executa instruções correspondentes especificadas nas regras do udev. Veja mais aqui e aqui.

Então vamos ao que interessa. Resolver o problema:


1ª Opção: A mais simples.

Desinstalar drive bluez é a forma mais simples de resolver o problema, porém, claramente, será impossível usar o bluetooth depois da desinstalação.

2ª Opção: Um pouco mais complexa, no entanto, resolve o problema sem a necessidade de desinstalar o drive bluez.

Rodar os seguintes comandos resolve o problema de sobreaquecimento e alto consumo da CPU temporariamente:
sudo systemctl stop systemd-udevd systemd-udevd-kernel.socket systemd-udevd-control.socket
sudo systemctl start systemd-udevd systemd-udevd-kernel.socket systemd-udevd-control.socket
Fazer um script de inicialização com esses comandos resolve o problema permanentemente. (Veja como fazer e colocar na inicialização do sistema).

Criar um arquivo de texto na pasta /etc/init.d/ com o nome <bluez-bug-resolve> o conteúdo abaixo deve ser copiado para dentro do arquivo:
#!/bin/bash
#
# /etc/init.d/bluez-bug-resolve

### BEGIN INIT INFO
# Provides:          bluez-bug-resolve
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Iniciar script com o sistema
# Description:       Esse Script desativa e ativa o systemd-udevd pois assim resolve bug de uso de CPU.
### END INIT INFO

sudo systemctl stop systemd-udevd systemd-udevd-kernel.socket systemd-udevd-control.socket
sudo systemctl start systemd-udevd systemd-udevd-kernel.socket systemd-udevd-control.socket

exit 0

É utilizado o systemd para iniciar o script na inicialização: siga os passos:

1- Criar um arquivo de serviço para o nosso programa Script. Crie como root um arquivo chamado bluez-bug-resolve.service no diretório /lib/systemd/system.

2- Colocar o seguinte conteúdo nesse aquivo e salvar:
[Unit]
Description=Bug uso CPU por conflito Bluez parando servico systemd-udevd
 
[Service]
Type=simple
RemainAfterExit=yes
ExecStart=/etc/init.d/bluez-bug-resolve
 
[Install]
WantedBy=multi-user.target
3- Recarregar a nova definição do serviço:
sudo systemctl daemon-reload

4- Ativar o novo serviço, e verificar se o mesmo foi ativado
sudo systemctl enable bluez-bug-resolve
sudo systemctl list-unit-files | grep bluez-bug-resolve

5- Reiniciar o computador e verificar se o problema com uso exagerado do processador foi resolvido. O processo systemd-udevd não deve mais aparecer com grande uso no gerenciador de tarefas.

REFERÊNCIAS:
https://docs.ubuntu.com/core/en/stacks/bluetooth/bluez/docs/
http://www.bluez.org/
https://www.freedesktop.org/software/systemd/man/systemd-udevd.service.html
https://www.freedesktop.org/software/systemd/man/udev.html

Tags: debian buster bluez resolve service system systemd systemd script linux udev udevd distribuição root alto consumo uso exagerado aquecimento quente processador bluetooth resolver resolvido como resolver diagnostico medida vostro 3500 vostro3500 nvidia 310m geforce bug

domingo, 7 de outubro de 2018

LaTex - Função Por Partes Usando o Ambiente Cases

Definindo Função Por Partes, Sistemas de Equações, Condições de Existência e Restrições em LaTex (Ambiente cases)

Questão: Como montar funções por partes em LaTex

Resposta: Abaixo segue alguns exemplos e respectivos códigos para implementação em LaTex.

O ambiente cases renderiza várias linhas com uma chave esquerda extensível. Pode ser usado para funções definidas por partes, alem disso, pode servir bem para representar restrições de equações e outras funções matemáticas. Para que isso funcione, você deve colocar o seguinte pacote:  \usepackage{amsmath} no preâmbulo.

Este ambiente é definido pelo pacote amsmath, iniciado por \begin{cases} e encerrado por end{cases}. Como mencionado acima ele permite a disposição de várias expressões matemáticas por linhas, ou seja, separando-as por casos. Usa-se a instrução \\ para separar as linhas.

Exemplo 1

Uma função que é definida por várias expressões pode ser obtida da seguinte forma em LaTex:
\[
f(x) = 
  \begin{cases}
      x^2, & x<0 \\
      x, & x \geq 0 
  \end{cases}
\]
Veja o resultado:
$f(x) =
  \begin{cases}
      x^2, & x<0 \\
      x, & x \geq 0
  \end{cases}$

Exemplo 2

Outro exemplo:
\[
|x|=
\begin{cases}
-x,&\mbox{se}\quad x\le 0,\\
x, &\mbox{se}\quad x>0.
\end{cases}
\]
Veja o resultado:
$|x|=\begin{cases} -x,&\mbox{se}\quad x\le 0,\\x, &\mbox{se}\quad x>0. \end{cases} $

Exemplo 3 

Sistemas de equações:
$
\begin{cases}
 2x+y+3z=3\\
 -x+2y=5\\
 x+y-\sqrt{2}z=0
\end{cases}
$
Veja o resultado:
$ \begin{cases} 2x+y+3z=3\\ -x+2y=5\\ x+y-\sqrt{2}z=0 \end{cases} $

Exemplo 4

Exemplo 2. Esboce o gráfico da função.
(retirada de Função dada por uma integral, pg.14 - Hamilton Luiz Guidorizzi - Um curso de calculo).
\[
F(x) = \int_{0}^{x} f(t)~dt \quad \mbox{onde} \quad f(t) =
\begin{cases}
1, \quad \mbox{se} \quad -1\leqslant t < 1 \\
2, \quad \mbox{se} \quad t \geqslant 1 
\end{cases}
\]
Veja o Resultado:

$F(x) = \int_{0}^{x} f(t)~dt \quad \mbox{onde} \quad f(t) =
\begin{cases}
1, \quad \mbox{se} \quad -1 \leqslant t < 1 \\
2, \quad \mbox{se} \quad t \geqslant 1
\end{cases}$


tags: latex, cases, caso, codigo, código, função por partes,  equações, restrições, amsmath, ambiente cases, exemplo, questão, sistemas de equações em latex

sexta-feira, 21 de setembro de 2018

Exercício Resolvido - Capacitor de Placas Paralelas - Física 3

Capacitor de Placas Paralelas 

Questão: Um capacitor de placas paralelas tem uma área das placas de 0,12 m² e uma distância entre as placas de 1,2 cm. Uma bateria é utilizada para carregar as placas com uma diferença de potencial de 120 V e em seguida é removida do circuito. Um dielétrico com 4,0 mm de espessura e constante dielétrica 4,8 é introduzido simetricamente entre as placas. Permissividade do vácuo: $\epsilon_{0}$ = 8,85.10⁻¹² C²/N.m². Calcule:
(a) o módulo do campo elétrico no interior do dielétrico;
(b) a diferença de potencial entre as placas após a introdução do dielétrico;
(c) a capacitância após a introdução do dielétrico;
(d) o trabalho necessário para introduzir o dielétrico. 

Resposta:

Letra (a) 

Aplicando a lei de Gauss para um dielétrico,
\begin{equation}\epsilon_0 \oint k\vec{E}\cdot \,d\vec{A}=\epsilon_0 E_1 A=q\end{equation}
ou
\begin{equation}E_1 = \dfrac{q}{\epsilon_0 Ak}\end{equation}
Como a carga permanece constante, temos
\begin{equation}q=C_0 V=\dfrac{\epsilon_0 A}{d}V\end{equation}
\begin{equation}q=\dfrac{8,85 \times 10^{-12} \cdot (0,12)}{1,2\times 10^{-2}}120 = 10,62~nC\end{equation}
Substituindo (4) em (3):
\begin{equation}E_1 = \dfrac{q}{\epsilon_0 Ak}=\dfrac{10,62\times10^{-9}}{8,85 \times 10^{-12}\cdot 0,12 \cdot 4,8}=2,0833 \dfrac{kV}{m}\end{equation}

Letra (b)

Temos que:
\begin{equation}V_1=\int_{-}^{+}\vec{E}\cdot d\vec{s}\end{equation}
Onde os sinais - e + indicam que a trajetória de integração começa na placa negativa e termina na placa positiva. E,
\begin{equation}V_{1}=E_{0}(d-l)+E_{1}l\end{equation}
com,
\begin{equation}E_0 = \dfrac{q}{\epsilon_0 Ak}=\dfrac{10,62\times10^{-9}}{8,85 \times 10^{-12}\cdot 0,12 \cdot 1}=10 \dfrac{kV}{m}\end{equation}
Nesse caso $k$ é igual a 1 porque a superfície gaussiana não passa pelo dielétrico. Logo,

\begin{equation}V_{1}=10000(0,012-0,004)+2083,3(0,004)=88,33~V\end{equation}

Letra (c)

E a capacitância após a introdução do dielétrico é:
\begin{equation}q=C_{1}V_{1}\end{equation}
\begin{equation}C_1=\dfrac{q}{V_1}=\dfrac{10,62\times10^{-9}}{88,33}=0,12~nF\end{equation}

Letra (d)

O trabalho necessário para introduzir o dielétrico é:
\begin{equation}W=\Delta V_{1}=\dfrac{q^2}{2C_1}-\dfrac{q^2}{2C_0}\end{equation}
\begin{equation}W=\dfrac{q^2}{2}\left(\dfrac{1}{C_1}-\dfrac{1}{C_0}\right)=\dfrac{{(10,62\times10^{-9})}^2}{2}\left(\dfrac{1}{0,12\times10^{-9}}-\dfrac{1}{\dfrac{10,62\times10^{-9}}{120}}\right)\Rightarrow\end{equation}
\begin{equation}W=-1,67\times10^{-7}~J\end{equation}
REFERÊNCIAS:
HALLIDAY, D.; RESNICK, R.; MERRILL, J. Fundamentos de Física, vol. 3 Eletromagnetismo,  LTC Editora. RJ. 

Tags: solution halliday 8th edition vol resolução

terça-feira, 18 de setembro de 2018

Textual description of firstImageUrl

Filtros Digitais - Filtro FIR Passa-faixa - Janelamento de Hamming, Hann, Blackman e Kaiser em Matlab

Filtro Digital FIR Passa-faixa com Implementação em MatLab 

Questão: Usando a função fir1 do Matlab, projete um filtro FIR passa-faixa de fase linear com as seguintes especificações: frequências limites da faixa de rejeição de $0,6\pi$ e $0,8\pi$, da faixa de passagem $0,65\pi$ e $0,75\pi$, atenuação máxima na faixa de passagem de 0,2 dB e atenuação mínima na faixa de rejeição de 42 dB. Utilize as janelas de Hamming, Hann, Blackman e Kaiser, e mostre a resposta em magnitude de cada um dos filtros obtidos. Comente os resultados.

Resposta: Conteúdo da resposta.

Código em MatLab para filtro FIR passa-faixa com janelamento Hamming, Hann, Blackman e Kaiser

%%  ====== Codigo - Filtro FIR (Janelas) ======  %%
%                                                 %
%             Aluno: Cleber Gobira                %
%   Disciplina: Processamento Digital de Sinais   %        
%                                                 %
%%  ====== Codigo - Filtro FIR (Janelas) ======  %%

FxaR = [0.6 0.8]; %Faixa de Rejeicao
FxaP = [0.65 0.75]; %Faixa de Passagem em radianos
wc = FxaP; %Banda passante

fsamp = 1000; %frequencia de amostragem
%Em (Hz). Multiplicado por 1000 por coveniencia    
fcuts = [0.3 0.325 0.375 0.4]*1000 
mags = [0 1 0]; %magnitude       
d1 = 10^(-0.05*42) %Ondulacao da banda de corte
d2 = (10^(0.05*0.2)-1)/(10^(0.05*0.2)+1) %ondulacao da banda de passagem
devs = [d1 d2 d1]; %Definicao do desvio   

[n,Wn,beta,ftype] = kaiserord(fcuts,mags,devs,fsamp); %para obter a ordem
JanKaiser = fir1(n,Wn,ftype,kaiser(n+1,beta));

%% Janela de Hanning
h1 = hann(n+1);
JanHann = fir1(n,Wn,h1);

%% janela HAMMING
h2 = hamming(n+1);
JanHamm = fir1(n,Wn,h2);

%% janela blackman
b1 = blackman(n+1);
JanBlac = fir1(n,Wn,b1);

%% Plotando
plotall = fvtool(JanHamm,1,JanHann,1,JanBlac,1,JanKaiser,1);
legend(plotall,'Hamming','Hanning','Blackman','Kaiser');
title('Resposta em Magnitude (Janela Hamming, Hanning, Blackman, kaiser)');

Clique na imagem para melhor visualização
Filtro passa-faixa FIR com janelamento Kaiser com fase linear.
Figura 1 – Filtro passa-faixa FIR com janelamento Kaiser com fase linear.

Fase linear do filtro passa-faixa FIR com janelamento Kaiser.
Figura 2 – Fase linear do filtro passa-faixa FIR com janelamento Kaiser.

Filtro passa-faixa FIR com janelamento Hamming, Hanning, Blackman e Kaiser, com fase linear.
Figura 3 – Filtro passa-faixa FIR com janelamento Hamming, Hanning, Blackman e Kaiser, com fase linear.

Para reduzir o efeito do fenômeno de Gibbs, deve-se usar janelas com truncamento menos abrupto. Em alguns casos é necessário a utilização de janelas mais sofisticadas, o uso de algumas delas podem ser observadas nas figuras 1 e 3, que são algumas das mais usuais. São poucas as diferenças entre as janelas Hamming, Hanning e Blackman, e essas diferenças estão voltadas a redução do fenômeno de Gibbs.

É importante salientar que entre as janelas citadas a janela de Kaiser é a única onde é possível especificar os parâmetros do filtro. Além disso elá é considerada ótima porque provê um lóbulo principal largo para a dada atenuação da banda de corte, o que implica a mais brusca banda de transição. Na figura 3, pode-se comparar a implementação com diferentes tipos de janela e constatar que quando usado a janela de kaiser é possível conseguir com muito mais precisão o requisitos de projeto do filtro FIR.

REFERÊNCIAS:
OPPENHEIM, Alan V.; SCHAFER, Ronald W. Discrete-time signal processing. Pearson Education, 3rd Edition, 2016.

Tags: filtro digital matlab filtros digitais gibbs janela janelas hamming hanning blackman fir kaiser fase linear janelamento passa-faixa passa faixa alta baixa fir1 

sexta-feira, 14 de setembro de 2018

Textual description of firstImageUrl

Filtros Digitais - Filtro FIR Passa-altas em MatLab

Filtro Digital FIR Passa-altas com Implementação em Matlab

Questão: Um filtro discreto ideal passa-altas com fase linear tem a seguinte resposta ao impulso:

$$\Large{
h_{HP}[n]=\begin{cases}
     1 - \dfrac{\omega_c}{\pi}, & para~n = 0\\
     -\dfrac{sen(\omega_c n)}{\pi n}, & para~n \neq 0
\end{cases}}
$$

onde $\omega_c$ é a frequência de corte discreta do filtro. Usando Matlab, mostre a resposta em magnitude de um filtro passa-altas FIR obtido truncando-se a resposta do filtro ideal acima, de comprimento $N = 2M + 1$ (ou seja, $ -M \leqslant n \leqslant M$ ). Obtenha o resultado usando os valores $M = 5$ e $M = 10$. Comente os resultados obtidos.

Resposta:
(A resposta apresentada aqui, pode não estar 100% correta, mas certamente pode ser proveitosa para alguns)

Código em MatLab para $M = 5,~$ $M = 10,~$ $~M = 100~$ e $\omega_{c} = 0.5\pi $:

%%  == Codigo - Filtro FIR Janela retangular ==  %%
%             Aluno: Cleber Gobira                %
%   Disciplina: Processamento Digital de Sinais   %
%%  ===========================================  %%

M = 5; % Tamanho da janela
wc = 0.5*pi;
n = 1:M 
h0 = 1 - (wc)/pi
haux = (-1./(n.*pi)).*sin(wc.*n) %Impulse Response h[n] p/ Filtro P. Alta
h1 = [fliplr(haux) h0 haux] %Vetor com os coeficientes do filtro

M1 = 10; % Tamanho da janela
n = 1:M1 
h0 = 1 - (wc)/pi
haux = (-1./(n.*pi)).*sin(wc.*n) %Impulse Response h[n] p/ Filtro P. Alta
h2 = [fliplr(haux) h0 haux] %Vetor com os coeficientes do filtro

M2 = 100; % Tamanho da janela
n = 1:M2
h0 = 1 - (wc)/pi
haux = (-1./(n.*pi)).*sin(wc.*n)%Impulse Response h[n] p/ Filtro P. Alta
h3 = [fliplr(haux) h0 haux] %Vetor, coeficientes do filtro, fliplr invert vetor

plotall = fvtool(h1,1,h2,1,h3,1);
legend(plotall,'Janela M=5','Janela M=10','Janela M=100')
title('Resposta em Magnitude (Fitro FIR, Janela Retangular, \omega_{c}=0.5\pi)');


Clique na imagem para melhor visualização.
Filtro FIR para  3 valores de M.
Figura 1 - Filtro passa-baixas FIR com janelamento retangular para M = 5, 10 e 100.

Como a janela $w[n]$ tem comprimento finito igual a M, sua resposta em frequência é uma sinc. A região de pico central (lóbulo principal) tem largura proporcional a 1/M e os lóbulos adjacentes com pesos menores. A convolução entre a janela e o filtro ideal gera uma versão da resposta ideal, mas com algumas distorções (ondulações).

A largura da banda de transição é proporcional a 1/M. Os lóbulos laterais produzem ondulações que têm forma similar tanto na banda de passagem quanto na banda de rejeição. Devido a isso pode-se observar ondulações nas extremidades da faixa de passagem, chamado de fenômeno de Gibbs, que surgem devido à descontinuidade imposta pela janela da sequência $h[n]$, ou seja, o corte abrupto da janela retangular.

O aumento de M produz lóbulos com largura menor e mesma área, ou seja, ondulação mais rápida, mas com a mesma amplitude. Isso fica claro quando observamos a Figura 1, onde mostra que a medida que se aumenta M os lóbolos se estreitam e assim temos mais ondulações. Portanto quando se usa M menor temos menos ondulação na banda de passagem, porém o lóbulo principal fica mais largo, aumentando assim a banda de transição e perdendo seletividade. Neste caso deve-se projetar M de forma a obter um equilíbrio para o objetivo almejado. O janelamento retangular não é a melhor forma de se obter um filtro FIR, devido ao corte abrupto.

Veja também: Filtros Digitais - Filtro FIR Passa-faixa - Janelamento de Hamming, Hann, Blackman e Kaiser em Matlab.

REFERÊNCIAS:
OPPENHEIM, Alan V.; SCHAFER, Ronald W. Discrete-time signal processing. Pearson Education, 3rd Edition, 2016.

terça-feira, 12 de agosto de 2014

Exercícios Resolvidos, Capítulo 9 - Limite e Continuidade


Capítulo 9 - Limite e Continuidade

Abaixo estão alguns links para exercícios resolvidos do capítulo 9 do livro Hamilton Luiz Guidorizzi - Um Curso de Cálculo Volume 2.  Limite e Continuidade (duas variáveis).





REFERÊNCIAS:
GUIDORIZZI, Hamilton Luiz. Um curso de cálculo, vol. 2 . Grupo Gen-LTC, 2000.
Textual description of firstImageUrl

Exercício Resolvido - Guidorizzi, Vol 2 - Cap 9 - 9.1-1. b)

Limite e Continuidade (duas variáveis)

Este exercício resolvido está no livro Um Curso de Cálculo - Hamilton Luiz Guidorizzi, Capítulo 9.

Capítulo 9 - Pg. 168 - Exercícios 9.1-1. b)

Exercício Resolvido - Guidorizzi, Vol 2 - Cap 9 - 9.1-1. b)

Comentários podem ser escritos em LaTex. Cifrão=$. Ex: Cifrão{\int_a^bf(x)dx}Cifrão

REFERÊNCIAS:
GUIDORIZZI, Hamilton Luiz. Um curso de cálculo, vol. 2 . Grupo Gen-LTC, 2000.

Exercício Resolvido - Guidorizzi, Vol 2 - Cap 9 - 9.1-1. a)

Limite e Continuidade (duas variáveis)

Calcule, caso exista: Quest. 1 - a)

${\Large \lim\limits_{(x,y)\to (0,0)}xsen\left(\frac{1}{x^2+y^2}\right)}$


Observe que:
${\Large sen\left(\frac{1}{x^2+y^2}\right)}$ A função seno é limitada entre -1 e 1.


Assim, para $\Large x \to 0:$       ${\Large\lim\limits_{(x,y)\to (0,0)}xsen\left(\frac{1}{x^2+y^2}\right)} = 0$

O limite Existe e é igual a zero.



REFERÊNCIAS:
GUIDORIZZI, Hamilton Luiz. Um curso de cálculo, vol. 2 . Grupo Gen-LTC, 2000.
Textual description of firstImageUrl

Exercício Resolvido - Guidorizzi, Vol 2 - Cap 9 - 9.1-1. a)

Limite e Continuidade (duas variáveis) 

Capítulo 9 - Pg. 168 - Exercícios 9.1-1 a)

 Exercício Resolvido - Guidorizzi, Vol 2 - Cap 9 - 9.1-1. a)
Comentários podem ser escritos em LaTex. Cifrão=$. Ex: Cifrão{\int_a^bf(x)dx}Cifrão


REFERÊNCIAS:
GUIDORIZZI, Hamilton Luiz. Um curso de cálculo, vol. 2 . Grupo Gen-LTC, 2000.
Related Posts Plugin for WordPress, Blogger...