Escutando Televisão em um Rádio FM

Este foi um e-mail que mandei para a lista da disciplina Princípios de Comunicação, ministrada pelo Professor Hélio Magalhães de Oliveira, que cursei na UFPE durante meu curso de Engenharia da Computação.

Gostei muito da matéria. Gostava de estudá-la mesmo. Então aí vai o motivo de conseguirmos escutar o canal 6 da TV nos Rádios FM que costumamos usar.




Oi pessoal!

Recentemente descobri um fato interessante relacionado a nossa disciplina de Princípios de Comunicação.

Acredito que muitos de vocês já devem ter reparado que é possível ouvir o canal 6 da TV no rádio. Até então, antes de cursar PCOM, eu imaginava que este canal havia construído por algum motivo uma estação transmissora de FM e transmitia sua programação tanto por TV, como por Rádio.

Então, após olhar com atenção as faixas usadas pelas estações comerciais FM e pelos canais de TV, percebi que a frequência 87,7MHz (que é a que nós escutamos o canal 6) estava fora da faixa reservada para estações de rádio comerciais (88MHz até 108MHz) e dentro da faixa reservada para transmissão do canal 6 (82MHz até 88MHz).

De fato, se você calcular a posição da portadora de som do canal 6, verá que ela se encaixa exatamente em 87,750MHz (subtraindo 250KHz de 88MHz, a extremidade direita do canal 6).

É interessante que o rádio comum é capaz de sintonizar numa região fora das reservadas para estações de rádio (87.5MHz até 88MHz). Eu suspeito que foi um "erro" de projeto intencional mesmo, para possibilitar a escuta do canal 6 de TV. Talvez haja outro motivo.

Independente disto, acho que podemos dizer que o canal 6 da TV possui uma certa vantagem sobre os demais canais, já que ele ganha "de graça" uma estação FM, sem realizar esforço algum.

É isso pessoal, não sei se muitos sabiam disso, achei interessante e resolvi compartilhar.

Abraços,
Rodolfo

Dicas para agilizar digitação de comandos no terminal do Linux

Muitas vezes cometemos erros de digitação, ou precisamos repetir um comando anterior com alguma pequena modificação e já que não temos interação do mouse com o Terminal, precisamos pressionar as teclas direcionais repetidamente para posicionarmos o cursor e realizar as modificações que desejamos.

Há os atalhos mais populares, que muitos já estão acostumados a usar, e caso você não esteja, aconselho conhecê-los, pois pode economizar um bom tempo e paciência nas situações do primeiro parágrafo.

Seta para cima: Exibe o último comando executado. Caso seja pressionada novamente, exibe o comando anterior ao exibido. Após caminhar para os comanos do passado, a Seta para baixo pode ser utilizada para caminhar no sentido inverso, mostrando o comando que veio após o exibido atualmente.

HOME e END: Movimenta o cursor para o início ou fim da linha do comando, respectivamente.

CTRL+Seta para a esquerda: Posiciona o cursor no primeiro caractere da palavra anterior à sua posição atual. Útil caso queira se movimentar entre várias palavras separadas por espaços em branco ou caracteres não alfa-numéricos.

CTRL+Seta para a direita: Posiciona o cursor no caractere após o final da palavra posterior à sua posição atual.

Além destes atalhos, há comandos da Shell menos conhecidos que também ajudam muito, como estes a
seguir:


CTRL+R
Este é um dos mais úteis. Exibe (reverse-i-search)`': na linha de comando, permitindo entrada do usuário. O que o usuário digitar, será procurado nos últimos comandos executados no histórico. Ao pressionar CTRL+R novamente, procura-se um resultado mais antigo. Quando encontrar o que você quer, basta dar ENTER para executar, ou ESC para editar o comando antes de executar.

CTRL+U e CTRL+Y
O CTRL+U é como um CTRL+X. Ou seja, um "Cortar". Ele apaga o que está antes do cursor e guarda na área de transferência. Já o CTRL+Y é como um CTRL+V. Ele cola o que você cortou com o CTRL+U. Eu utilizo muito o CTRL+U (precedido de um END) apenas para limpar a linha, quando tem um comando muito grande digitado e não quero ficar segurando o backspace.



comando !*
Executa comando utilizando os argumentos do último comando executado. Útil para quando cometemos algum erro de digitação.
Exemplo:
rodolfo@RC-UB:~$ gedti ~/Downloads/teste
No command 'gedti' found, did you mean:
Command 'gedit' from package 'gedit' (main)
gedti: command not found
rodolfo@RC-UB:~$ gedit !*
gedit ~/Downloads/teste



history n
Exibe os últimos comandos executados, associados com um identificador exibido à sua esquerda.



!n
Os comandos exibidos no history podem ser executados a partir do seu identificador, bastando para isto executar !n  onde n é o identificador daquele comando.


!comando
Procura no histórico de comandos passados o último que começou com "comando", imprime o resultado da busca e o executa em seguida.


!?comando?
Procura no histórico de comandos passados o último que conteve a palavra "comando" (em qualquer posição), imprime o resultado da busca e o executa em seguida.


!-n
Executa o n-ésimo comando anterior. !-1 executa o último comando executado. !-2 executa o penúltimo e assim sucessivamente.

Não são muitos comandos, então com um pouco de tempo e persistência, você começará a utilizá-los naturalmente, ganhando uma grande agilidade na execução de comandos pelo Terminal.


Referência:
GNU/Linux Command-Line Tools Summary (HTML) (PDF)
http://tldp.org/guides.html

GNU/Linux

Ontem resolvi pesquisar sobre a história do GNU/Linux e porque algumas pessoas chamam de GNU/Linux o que eu conhecia apenas como Linux.

Em 1983, Richard Stallman planejou desenvolver o sistema GNU, um sistema operacional completamente livre. Então, em 1984 Richard largou seu emprego no MIT e em 1985, fundou a Free Software Foundation (FSF) que tinha como foco principal o desenvolvimento deste sistema.

O projeto foi iniciado e começou a render componentes de qualidade. Só que como o projeto tinha a intenção de ser compatível com o Unix (sistema popular da época), os componentes GNU acabaram sendo usados no próprio Unix e tornaram-se populares neste sistema antes mesmo de o GNU existir. Isto acabou desviando o esforço dos desenvolvedores, que em vez de continuar o projeto GNU e implementar os componentes que faltavam, mantinham os componentes já desenvolvidos, além de portá-los para outras versões do Unix.

Em 1991, o sistema operacional GNU estava quase completo, com bibliotecas, compiladores, editores de texto, uma shell Unix e sistema de janelas, faltando componentes mais próximos do hardware como drivers e o seu kernel, o GNU Hurd. Este kernel possuía um projeto ambicioso, que inesperadamente se mostrou difícil de implementar.

Enquanto o Hurd estava dando seus primeiros passos, Linus Torvalds lançou a primeira versão do seu kernel, o Linux, e felizmente o tornou livre em 1992.

Linus Torvalds era estudante de Ciência da Computação da Universidade de Helsinki, na Finlândia, e em 1991, no seu terceiro ano de universidade, adquiriu um Intel 80386 IBM PC. Em 25 de Agosto de 1991, ele enviou um e-mail perguntando o que as pessoas gostariam de ver no MINIX (sistema minimalista baseado no Unix, projetado para fins educacionais em Ciência da Computação), dizendo que estava desenvolvendo um sistema operaciona livre "apenas como um hobby, nada grande como o GNU" palavras do Linus. O e-mail pode ser conferido em http://groups.google.com/group/comp.os.minix/browse_thread/thread/76536d1fb451ac60/b813d52cbc5a044b?#b813d52cbc5a044b

O projeto do Linux acabou ganhando colaboradores, e estes portaram alguns programas do projeto GNU, incluindo o GNU C Compiler, para o Linux. Quando os desenvolvedores do projeto GNU souberam do Linux, deram continuidade a esta ideia e adaptaram outras partes do GNU para rodar no kernel Linux. Este trabalho acabou dando origem ao primeiro sistema operacional completamente livre, composto pelo kernel Linux e componentes do projeto GNU, embora Richard Stallman (o mentor do projeto GNU) tivesse planejado o desenvolvimento do kernel pelos participantes do projeto GNU.

Naturalmente, por serem livres, os componentes do GNU Project podem ser usados com outros kernels (não GNU). Todavia, a FSF afirma que o kernel Linux, quando usado com as ferramentas e os utilitários GNU, deve ser considerado um variante do GNU, e defende o uso do termo GNU/Linux para tais sistemas.

O kernel Linux, combinado com componentes GNU, assim como componentes não-GNU e um software de gerenciamento de pacotes adicionais são chamadas de "distribuições Linux".

Em uma análise do código fonte dos pacotes do Red Hat Linux 7.1, uma distribuição típica do Linux, o tamanho total dos pacotes do projeto GNU era muito maior do que o kernel Linux.

Por outro lado, alguns sistemas embarcados, como smartphones, routers, e dispositivos VoIP são arquitetados tendo eficiência de espaço em mente e usam um kernel Linux com poucos ou nenhum componente GNU. O sistema Android da Google, que é baseado no Linux, não usa nenhum componente ou biblioteca GNU. A FSF concorda que "GNU/Linux" não é um nome apropriado para estes sistemas.

A versão alpha mais recente (até hoje 16 de Novembro de 2011) do sistema GNU é o GNU 0.401, lançado em 1 de Abril de 2011. Após 20 anos o HURD ainda não está maduro e nunca atingiu qualidade de produção. Além disso, o sucesso do Linux diminuiu a urgência do desenvolvimento do kernel GNU.

O maior erro do projeto GNU pode ter sido a escolha pelo microkernel Mach, como diz Stallman: "I take full responsibility for the technical decision to develop the GNU kernel based on Mach, a decision which seems to have been responsible for the slowness of the development. I thought using Mach would speed the work by saving us a large part of the job, but I was wrong".

Em 2010, após vinte anos de desenvolvimento, Stallman disse que ele não estava muito otimista com o GNU Hurd. Para ser realmente superior, seria necessário resolver muitos problemas profundos. Além disso, disse que finalizá-lo não é crucial para o sistema GNU, já que um kernel livre já existe no Linux e finalizar o Hurd não resolveria o principal problema para um sistema operacional livre: supote a dispositivos.

Referências:

http://en.wikipedia.org/wiki/GNU
http://en.wikipedia.org/wiki/GNU_project
http://en.wikipedia.org/wiki/GNU_Hurd
http://en.wikipedia.org/wiki/GNU/Linux_naming_controversy
http://en.wikipedia.org/wiki/Linux
http://en.wikipedia.org/wiki/Linus_Torvalds
http://www.gnu.org/gnu/the-gnu-project.html
http://groups.google.com/group/comp.os.minix/browse_thread/thread/76536d1fb451ac60/b813d52cbc5a044b?pli=1

Junção P-N: Criação da região de depleção

Este é um texto que fiz durante a disciplina de Introdução aos Dispositivos Semicondutores. Explica como a Região de Depleção se forma em uma Junção P-N.



Supondo-se uma junção P-N em que inicialmente ambas as regiões estão neutras, como se dois semicondutores (um tipo P e outro tipo N) tivessem acabado de se juntar em um único semicondutor, vamos descrever o que precede a formação da região de depleção (ou região de carga espacial).


O equilíbrio de cargas em um semicondutor dopado

Inicialmente, vamos explicar quem são os portadores de carga em um semicondutor dopado. Começando pelo semicondutor extrínseco do tipo N (dopado com impurezas doadoras de elétrons), devemos lembrar que nele há duas formas de criação de elétrons livres.

A primeira é através da formação de pares elétron-buraco [S. Rezende - Cap. 5, p. 125] onde o elemento semicondutor base do cristal (Silício ou Germânio) perde um elétron da banda de valência para a banda de condução, graças à excitação térmica, gerando um buraco na banda de valência (elemento com um elétron faltando -> íon positivo).

A segunda forma, muito mais expressiva em termos quantitativos do que a primeira, acontece graças às impurezas doadoras presentes no cristal. Estas impurezas são do grupo V da tabela periódica (P, As, Sb, etc.), enquanto o elemento semicondutor base é do grupo IV (Si ou Ge). A impureza, assim como o elemento semicondutor base, tornam-se estáveis fazendo quatro ligações covalentes, ficando com oito elétrons em sua última camada interna (como um gás nobre - Regra do Octeto). A impureza, no entanto, possui um elétron que não realiza ligação com nenhum outro, possuindo uma fraca ligação ao átomo substitucional. Graças à excitação térmica, este átomo é ionizado e seu quinto elétron vai para a banda de condução. Ou seja, no caso das impurezas doadoras, os elétrons doados deixam para trás um íon carregado positivamente plenamente estável, que não irá se comportar como um buraco. Será uma carga positiva fixa no cristal, que não voltará a se recombinar com elétrons.

Dito isso, concluímos que embora o semicondutor tipo N tenha uma concentração de elétrons muito maior que a de buracos, a carga total do semicondutor continua neutra graças às impurezas ionizadas positivamente, que são em igual quantidade ao número de elétrons adicionais, trazidos por elas. A geração de pares elétron-buraco também não desequilibra a carga total do semicondutor, pois como o próprio nome diz, esta geração é sempre feita em pares, criando cargas com valores opostos.

Em um semicondutor do tipo P, as impurezas são do grupo III da tabela periódica (B, Al, Ga ou In), e podem fazer apenas três ligações covalentes com seus vizinhos. Todavia, com apenas seis elétrons na última camada, eles continuam instáveis, precisando de mais dois elétrons para completar oito elétrons e tornarem-se estáveis.

Então, para alcançar a estabilidade, o elemento substitucional (B, Al, Ga ou In) captura um elétron de valência de algum átomo vizinho (Si ou Ge) e faz uma ligação covalente utilizando aquele novo elétron, completando oito elétrons na sua última camada interna, com quatro ligações covalentes. Desta forma, a impureza torna-se estável e ionizada negativamente, com um elétron a mais em sua estrutura original.

O elétron capturado pela impureza é disponibilizado por algum átomo vizinho após este quebrar uma de suas quatro ligações covalentes. Ao entregar este elétron à impureza, o átomo torna-se ionizado positivamente e instável. Este átomo de Silício ou Germânio (elemento base do semicondutor dopado), carregado positivamente e ávido por um elétron (para repor aquele que ele acabou de perder para a impureza) é exatamente o que chamamos de buraco.

Ocasionalmente, o elemento base ionizado positivamente (buraco), captura um elétron de algum outro átomo vizinho (semelhantemente ao comportamento inicial da impureza) para alcançar novamente sua estabilidade. O átomo que antes estava ionizado passa a estar neutro ao capturar o elétron, e seu vizinho passa a estar ionizado positivamente. Este movimento da carga positiva (causado pela doação e captura de elétrons na banda de valência entre átomos vizinhos) é a definição do “movimento dos buracos”. De fato não há movimento de partículas carregadas positivamente, e sim de elétrons (na banda de valência). Todavia, para fins práticos, os buracos são tratados como partículas móveis carregadas positivamente, inclusive possuindo massa como mostrado em [S. Rezende – Cap.5, p.122].

No semicondutor do tipo P, assim como no tipo N, há formação de pares elétron-buraco por excitação térmica. Assim os portadores de carga neste tipo de semicondutor são:
  1. Buracos criados a partir da geração de pares elétron-buraco;
  2. Elétrons criados a partir da geração de pares elétron-buraco;
  3. Buracos criados a partir da absorção de elétrons pela impureza;
  4. Impureza ionizada negativamente;
Sabemos que as quantidades dos portadores dos itens 1 e 2 são iguais, assim como as quantidades dos portadores dos itens 3 e 4, por serem cargas criadas simultaneamente, aos pares, e com valores opostos. Assim o semicondutor dopado com impurezas aceitadoras mantém-se com carga total neutra (nula).

É interessante frisar que o movimento de buracos (que é composto pela quebra de uma ligação covalente e posterior doação/captura de elétron), é um processo mais lento do que a livre circulação de elétrons pela banda de condução. Por isso a mobilidade dos buracos possui sempre um valor menor do que a mobilidade dos elétrons.



Difusão de elétrons e buracos

Chamamos de difusão o espalhamento de partículas, através de movimentos aleatórios, de uma região de maior concentração para uma de menor concentração.

No lado N, há uma alta concentração de elétrons na banda de condução. Nesta banda de energia, os elétrons podem mover-se livremente, não fazendo ligações com um átomo individualmente, sendo, portanto, chamados de ‘elétrons livres’. Além disso, devido à agitação térmica, os elétrons movem-se aleatoriamente, sem sentido definido. Estas características permitem o processo de difusão de elétrons. Quando uma região com alta concentração de elétrons livres (lado N) é posto em contato com uma região com concentração bem menor (lado P), os elétrons fluem naturalmente de um lado (N) para o outro (P).

De forma análoga, os buracos na banda de valência em alta concentração no lado P fluem para o lado N (onde há poucos buracos).



Encontro entre elétrons e buracos - Recombinação

Devido ao processo de difusão, alguns elétrons do lado N atravessam a junção e entram no lado P do semicondutor, assim como alguns buracos do lado P, que também se deslocam, mas para o lado N. Na região próxima da junção, portanto, podem acontecer encontros entre buracos e elétrons, que resultam em recombinações.

Após uma recombinação, um elétron livre e um buraco deixam de existir: o elétron passa da banda de condução para a banda de valência (deixa de ser um elétron livre) e o buraco, que era um átomo ionizado (havia perdido um elétron da banda de valência), captura o elétron e torna-se neutro.



Criação da região de depleção


Devido à recombinação, os elétrons e buracos próximos à junção começam a ser consumidos, criando um desequilíbrio de cargas nesta região. A carga negativa dos elétrons do lado N, que se equilibrava com a carga positiva das impurezas doadoras, deixa de existir, resultando em uma carga total positiva do lado N, próxima a junção.

No lado P, os buracos que equilibravam a carga negativa das impurezas aceitadoras também deixam de existir, predominando a carga negativa destas impurezas, na região próxima à junção.



Na região distante da junção, o semicondutor continua neutro. Apenas na região próxima à junção, onde houve depleção dos elétrons livres e buracos, há presença de cargas não compensadas.

Estas cargas não compensadas, por sua vez, geram um campo eletrostático que dificulta a difusão de portadores de carga livres. No lado P, as impurezas ionizadas negativamente criam um campo que dificulta a difusão de elétrons do lado N para o lado P. E no lado N, as cargas positivas das impurezas dificultam a travessia dos buracos que vêm do lado P.

À medida que as recombinações acontecem, a região de depleção cresce, assim como a carga não compensada e o campo eletrostático gerado por elas.

Em algum momento, esta força eletrostática será grande o suficiente para impedir a difusão, e então a quantidade de portadores de carga livres parará de diminuir e a região de depleção parará de aumentar, atingindo o equilíbrio.