Gere 128 pontos para o seguinte sinal:
Plote o sinal no domínio do tempo. Usando o método da transformada de Fourier e gere e plote o sinal no domínio da frequência. Use a escala de no eixo X. Assuma a taxa de amostragem de . Verifique se os picos ocorrem onde era esperado para o domínio da frequência.
Passo 1
O enunciado nos dá uma função representando um sinal no domínio do tempo e nos pede para:
- Plotar o sinal no domínio do tempo;
- Aplicar a transformada de Fourier no sinal para obtê-lo no domínio da frequência. Para isto, usaremos a função do MATLAB;
- Plotar o sinal do domínio da frequência, tendo as frequências em no eixo X do gráfico;
- Verificar se os picos do sinal ocorrem onde era esperado no domínio da frequência.
A partir do enunciado e da equação do sinal, que é composta por ondas cossenodal e seinodal, podemos obter algumas informações para entrarmos no MATLAB e resolvermos o exercício:
- O número de pontos que o sinal deve ter é ;
- A taxa de amostragem é de . Isto quer dizer que a frequência de amostragem é ;
- A partir da frequência de amostragem, obtemos o período em segundos do sinal: ;
- Chamando de:
- Uma onda cossenoidal normalmente tem o formato:
- Logo, podemos dizer que a amplitude de é de ;
- Já a frequência de é:
- Uma onda senoidal normalmente tem o formato:
- Logo, podemos dizer que a amplitude de é de ;
- E que a frequência de é:
e
Temos:
Onde é a amplitude da onda e , a frequência em .
Para verificar se os picos do sinal ocorrem onde era esperado no domínio da frequência, devemos olhar o gráfico do sinal no domínio da frequência e ver se os picos ocorrem na mesma frequência das ondas que compõem o sinal: e .
Passo 2
Primeiramente, vamos entrar no MATLAB as informações fornecidas pelo enunciado, que foram listadas logo acima, no passo 1. Em um script novo, digite:
O número de pontos é armazenado na variável ; a frequência de amostragem na variável ; o período é calculado e armazenado na variável ; a amplitude da onda é armazenada na variável e amplitude da onda , na variável ; e, finalmente, a frequência de em é armazenada em e a frequência de , em .
Para fazermos a primeira coisa que o exercício pede – plotar o sinal no domínio do tempo – devemos criar um vetor representando o domínio do tempo a partir o comando:
Neste comando, cria-se primeiro um vetor que vai de a , com passo de (). Este vetor tem elementos, correspondendo aos pontos pedidos pelo enunciado. Em seguida, esse vetor é multiplicado por , que é o período, em segundos, do sinal .
Vamos acrescentar esse comando para calcular o vetor no MATLAB e aproveitar e já gerar o sinal no domínio do tempo:
Nos comandos acima, após criar o vetor , criamos um vetor chamado representando a onda cosseinodal e outro vetor chamado representando a onda senoidal .
O sinal é criado em seguida, fazendo .
Tendo os vetores e , podemos plotar o sinal no domínio do tempo, por meio dos comandos:
Na primeira linha, pedimos ao MATLAB para gerar uma figura com o comando , para termos o gráfico no domínio do tempo em uma janela diferente do gráfico no domínio da frequência (que também foi pedido no exercício e que geraremos mais pra frente, no mesmo script).
Em seguida, com o comando o gráfico do sinal no domínio do tempo é gerado.
Indicamos que o eixo horizontal do gráfico é o domínio do tempo por meio do comando . Temos no eixo vertical do gráfico o sinal , indicado por .
Vamos ver a carinha do sinal no domínio do tempo? Rodando o programa que escrevemos até agora, temos este gráfico:
Pronto! O primeiro item pedido pelo exercício está feito!
Passo 3
A segunda coisa que o exercício pede é usarmos a transformada de Fourier no sinal para obtermos a onda no domínio da frequência. Para isto, usaremos a função do MATLAB, incluindo a seguinte linha de código em nosso script:
Para calcular a transformada de Fourier, a função tem como entrada o vetor , que contém números reais representando o sinal no domínio do tempo. Já a saída é um vetor com números complexos: é a conversão de no domínio do tempo para o domínio da frequência. Os vetores e têm a mesma quantidade de elementos.
Ao incluirmos esse comando no nosso código, o segundo item pedido pelo enunciado está feito (sim, esse passo foi bem curto XD)
Passo 4
Tendo executado o segundo item pedido pelo exercício, partimos para a terceira coisa que ele nos pede para fazer: plotar o sinal no domínio da frequência. Quando plotamos um sinal no domínio da frequência, normalmente temos no eixo Y do gráfico a magnitude do sinal obtido pela função . Para calcular a magnitude, usamos a função do MATLAB. Digite no MATLAB a linha de código:
Com esta linha, calculamos a magnitude de cada elemento do vetor usando a função do MATLAB. Quando a entrada da função é um número complexo, ela calcula sua magnitude.
Agora precisamos criar o eixo horizontal, representando o domínio da frequência. Para isto, digite os comandos:
Na primeira linha, calculamos o , que é o passo do domínio da frequência: ele começa em e as frequências seguintes são obtidas pela soma de à frequência anterior. O é calculado dividindo a frequência de amostragem pelo número de pontos e é armazenado na variável .
Na segunda linha, geramos o domínio da frequência, representado pelo vetor . A lógica da sua criação é igualzinha à lógica que usamos para criar o vetor , do domínio do tempo.
Primeiramente, cria-se um vetor que vai de a , com passo de (). Este vetor tem elementos, correspondendo aos pontos exigidos pelo enunciado. Em seguida, esse vetor é multiplicado por . Desta forma, é criado o domínio da frequência, que vai de a
Após criar o domínio da frequência, vamos usar novamente a função para gerar o gráfico da magnitude da onda no domínio da frequência:
Na primeira linha, pedimos ao MATLAB para gerar uma segunda figura com o comando , para termos o gráfico no domínio da frequência em uma janela diferente do gráfico no domínio do tempo.
Em seguida, o gráfico da magnitude de no domínio da frequência é criado com o comando Repare que, para plotar, usamos somente a primeira metade dos vetores com elementos e . Isso é indicado pela adição de à direita do nome do vetor, que diz ao MATLAB que queremos pegar do primeiro elemento ao elemento do vetor.
Usamos somente a primeira metade dos vetores e porque, no domínio da frequência, a partir de , as magnitudes começam a se repetir e não precisamos pôr elas no gráfico para encontrar o que o exercício pede.
Indicamos que o eixo horizontal do gráfico é o domínio da frequência por meio do comando . Temos no eixo vertical do gráfico a magnitude de , indicado por .
Vamos ver a cara do sinal do domínio da frequência? Executando o programa, temos:
Voilà! Terceiro item pedido pelo exercício feito ;D
Passo 5
A última coisa que o exercício pede para fazermos é verificar se os picos do sinal ocorrem onde era esperado no domínio da frequência. Para vermos isso, devemos olhar o gráfico do sinal no domínio da frequência e ver se os picos ocorrem na mesma frequência das duas ondas que compõem o sinal: e .
Vamos clicar em cima dos picos no gráfico gerado do MATLAB, para vermos suas coordenadas. Vamos clicar no primeiro pico, mais à esquerda:
Viu que ele ocorre em ? Bem próximo da frequência de , que é .
Clicando no segundo pico, mais à direita:
Ele ocorre exatamente em , mesma frequência de .
Portanto, os picos do sinal no domínio da frequência ocorrem onde eram esperados.
Se quiser, faça alguns testes aumentando o , você verá que as frequências onde ocorrem os picos ficarão mais próximas de e , até se tornarem iguais a e .
Resposta
Gráfico do sinal no domínio do tempo:
Gráfico do sinal do domínio da frequência, tendo as frequências em no eixo X:
Os picos do sinal no domínio da frequência ocorrem onde eram esperados: nas frequências de e , correspondendo às frequências das ondas que compõem o sinal .