Esta poderosa linguagem de programação para computação científica tem uma extensa biblioteca de funções para gerar ondas de várias formas.
A seção a seguir explica usando a função Square () para gerar ondas quadradas. A seguir, mostraremos exemplos práticos e imagens de como criar ondas quadradas com parâmetros diferentes e exibi -los graficamente no ambiente do MATLAB.
Sintaxe da função quadrada matlab
x = quadrado (t)
x = quadrado (t, dever)
Descrição da função do Matlab Square
Função Matlab Square () gera ondas quadradas a partir de vetores ou matrizes de tempo. Esta função também permite definir valores do ciclo de trabalho, geralmente usados em modelos eletrônicos para controlar os motores de modulação de largura de pulso de pulso (PWM) CC (PWM). A função Matlab Square () gera uma onda quadrada em "X" da matriz de tempo "T". O período da onda gerado em "X" é 2pi sobre os elementos de "T". Os valores de saída de "x" são -1 para meio ciclos negativos e 1 para meio ciclos positivos. O ciclo de trabalho é definido através da entrada de "dever" que envia a porcentagem do ciclo positivo inserido quando a função é chamada.
O que é e como criar um vetor de tempo para gerar ondas no Matlab
Antes de vermos como uma onda quadrada é gerada com esta função, mostraremos brevemente o que são vetores e matrizes de tempo. Eles fazem parte dos argumentos de entrada de todas as funções usadas para criar ondas, independentemente de sua forma ou da função que as gera. A seguir, é apresentado um vetor de tempo “T” representando um segundo em duração:
t = 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000
É essencial esclarecer que um vetor de tempo com dez elementos corresponde a uma taxa de amostragem de 10 Hz e não é recomendada na prática. Por isso, fazemos apenas Como exemplo, para que você possa ver melhor do que estamos falando por causa de um vetor com uma amostragem de 1kz. Consistiria em 1000 elementos exibidos na tela. Uma baixa taxa de amostragem distorceria a forma de onda, como mostrado abaixo:
Em seguida, vejamos a expressão de uma das maneiras pelas quais o Matlab cria esse tipo de vetor de tempo de intervalo regular:
t = início do tempo: intervalo em segundos: final de tempo;
Então, para gerar esse vetor, precisaríamos escrever a seguinte linha de código:
t = 0: 0.1: 1;
Como criar uma onda quadrada com a função Matlab Square
Criaremos uma onda quadrada usando a função Square () neste exemplo. Esta onda tem uma duração de um segundo, uma frequência de 5Hz e uma amplitude de +1, -1. Para fazer isso, primeiro criamos um vetor de tempo “T” de duração de um segundo com uma frequência de amostragem de 1kHz ou intervalos de 1ms.
t = 0: 0.001: 1;
Então, especificamos a frequência da onda. O argumento de entrada de Square () que define esse valor é expresso em radianos, por isso temos que converter de Hz para Radians ou expressá -lo neste último. Por razões práticas, é sempre melhor expressar frequência em Hz. Portanto, neste exemplo, faremos a conversão da seguinte maneira:
f = 5;
rad = f.*2.*pi;
Com o vetor de tempo “T” criado e a frequência “rad” convertida em radianos, agora chamamos a função Square () da seguinte maneira:
x = quadrado (rad.*t)
Para representar graficamente a onda no ambiente MATLAB, usaremos as seguintes funções:
plot (t, x);
eixo ([0 1 -1.2 1.2])
grade ("on");
Nesse caso, como a entrada do ciclo de trabalho não é usada, esse valor é padrão para 50%,. Então, Square () produz uma onda simétrica. Copie e cole o seguinte fragmento no console de comando para visualizar a onda gerada.
% Aqui a onda é gerada
t = 0: 0.001: 1;
rad = 5 .* 2 .* pi;
x = quadrado (rad .* t);
% Aqui a onda é representada graficamente
plot (t, x);
eixo ([0 1 -1.2 1.2]);
grade ("on");
A imagem a seguir mostra a forma de onda gerada pela função Square () plotada no ambiente MATLAB:
Como controlar a frequência, amplitude, ciclo de trabalho e taxa de amostragem ao gerar uma onda com a função Matlab Square ().
Este exemplo mostra como controlar os parâmetros de frequência, amplitude, ciclo de trabalho e taxa de amostragem. Para esse fim, criaremos um aplicativo de console simples que será usado para inserir esses valores e depois representar automaticamente a onda gerada a partir dos parâmetros de entrada. Usaremos as funções Prompt () e Input () para inserir esses parâmetros através do console. Armavaremos esses parâmetros nas seguintes variáveis:
s_rate: Frequência de amostragem em Hz
frequencia: Frequência da onda em Hz
Amplificador: Amplitude da onda
d_cycle: Ciclo de serviço
Essas variáveis são processadas, respectivamente, para definir os parâmetros "t_sample" no vetor do tempo, os argumentos de entrada "rad" e "dc" para a função Square () e o fator de multiplicação "amp" para ajustar a amplitude da onda.
Abaixo, vemos o script completo para este aplicativo. Para torná -lo legível, dividimos o código em seis blocos, explicando o que cada um deles faz nos comentários no começo.
enquanto 1
% Aqui entramos na taxa de amostragem "s_rate" em hz e dividir 1
% por esse valor para obter o intervalo de tempo entre as amostras
% expresso em segundos "t_sample" e crie o vetor de tempo.
prompt = 'insira uma taxa de amostra';
s_rate = entrada (prompt);
t_sample = 1 ./ s_rate;
t = 0: t_sample: 1;
% Aqui entramos na frequência "f" em Hz da onda e convertem.
% para radianos "rad".
prompt = 'insira uma frequência';
f = entrada (prompt);
rad = f .* 2 .* pi;
% Aqui entramos no ciclo de trabalho "DC" expresso como uma porcentagem.
prompt = 'insira um ciclo de trabalho';
dc = entrada (prompt);
% Aqui definimos a amplitude da onda.
prompt = 'digite uma amplitude';
amp = entrada (prompt);
% Aqui chamamos a função square () com os parâmetros "rad" que
% define a frequência e "dc", que define o ciclo de trabalho. Mais tarde
% nós multiplicamos o resultado pelo valor armazenado em "amp" para
% Defina a amplitude da onda como "x".
x = amp * quadrado (rad * t, dc);
% Aqui nós representamos graficamente a onda gerada.
plot (t, x);
eixo ([0 1 -5 5])
grade ("on");
fim
Crie um script, cole este código e pressione "Run". Para fechar o aplicativo, pressione Ctrl+C. Nas imagens a seguir, você pode ver as ondas resultantes com diferentes parâmetros inseridos no aplicativo através do console de comando:
Esta imagem corresponde a uma onda de 8 Hz com uma taxa de amostragem de 1kz, um ciclo de trabalho de 50%e uma amplitude de pico a pico de 2.
Esta imagem corresponde a uma onda de 10 Hz com uma taxa de amostragem de 10kz, um ciclo de trabalho de 85%e uma amplitude de pico a pico de 6
Esta imagem corresponde a uma onda de 3 Hz com uma taxa de amostragem de 1kz, um ciclo de trabalho de 15%e uma amplitude de pico a pico de 8.
Conclusão
Este artigo explicou como gerar ondas quadradas usando a função Matlab Square ().
Ele também inclui uma breve descrição dos vetores e matrizes de tempo que formam os argumentos de entrada desse tipo de função, para que você possa entender completo de como a maioria dos geradores de formas de onda na caixa de ferramentas de análise de sinal no trabalho do matlab. Este artigo também inclui exemplos práticos, gráficos e scripts que mostram como a função Square () funciona no Matlab. Esperamos que você tenha achado este artigo do Matlab. Veja outros artigos de dica do Linux para obter mais dicas e informações.