![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhc4RkJcL5a5R-x3htz1OovnAdOYHefvVS4qxXYiuE6shyiwemq_4gFUTgPrnuWAPsJ2ui4NdCRKPd78p0NIPu92Fq5IE-qqINEE8QHWDMFXJnjd25JgK_ov5DDkJLqFNAl95Qif7wpIYM/s1600/paletas.jpg) |
Nova paleta de componentes. |
Já falamos aqui no
blog do ambiente de simulação "XCOS" (
aqui e
aqui) disponível no Scilab. Nesta postagem vamos detalhar como criar novos blocos a partir de blocos existentes e adicionar à paleta de componentes os novos blocos criados. Existe também um tutorial (
link aqui) para iniciantes desse ambiente de simulação. Obs: naturalmente que o
Simulink do
Matlab continua sendo muito mais poderoso e cheio de recursos.
Em alguns casos, não existe um bloco que realize a função desejada pelo projetista. Nesse caso, uma possibilidade é criar um novo bloco com as funcionalidades desejadas a partir dos blocos já disponíveis. Por exemplo: não existe um bloco que efetue a produto de dois números complexos. Então, lembrando que o produto complexo (
a +
jb)(
c +
jd) =
ab - bd +
j(
ad + bc), onde
j 2 = -1, podemos construir um bloco de produto complexo da seguinte forma:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM_FmFusXCCMan4z2p6_uoIRFbwBykuLNSWEnuWl0kkIlbSXaS6ot5hhi4TFLwQdIBjfIMuOGn_IiyP7bTfy1yWE7Q9lQIZKtaWvvd1FEm25Q6XNbmhdVsLtl7fHU0k84daPpCKySe2Wg/s1600/prod_complex.jpg) |
Produto complexo e agrupamento dos componentes em um único bloco. |
Após a ligação de todos os blocos, eles podem ser agrupados em uma estrutura de "
superbloco" (opção
região para superbloco). Tendo todos os blocos prontos para simulação, é hora de ajustar alguns parâmetros inicializar as variáveis (ou constantes), para isso é necessário usar a opção de "Definir contexto" (figura abaixo). Também é possível rodar a simulação a partir de um script do Scilab (comandos:
importXcosDiagram e
scicos_simulate).
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-m7aE1Nn_PsmRgGPam2kMd8J2C7IbYgEI4T44SpO4vigORhIKU-3JxIbDoecHcbxUdK2KSWWyGtUZr0uLwwexQLSULeQhO6MQtiPQqoIwVHq8KnZm0ssYDrSF5EmRUXnWhVv5r-X8Ro0/s1600/def_contexto.jpg) |
Definindo o contexto de simulação. |
O tempo de simulação (
tempo ou número de interações) pode ser definido pelo bloco "END" - paleta "Receptores". Se o sistema for basicamente discreto, as tolerâncias de tempo de integração podem ser relaxadas (menu "Simulação"), isso deve fazer com que a simulação rode em um tempo menor.
Um exemplo: sistema de comunicação digital PSK (Md = 16, 16-PSK, canal gaussiano), ver figura abaixo.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi15YSVUSOvaoEcO7JGdGYEcSJRaFq1PlrHDxylx72uDogi7UbPd5eVL34QGK6nJNJ0LRKQWImUQKMnoffIyGHOcQ4E2nMuXy8TcR5hKEG-JRbjBNxkAEwp7qbU-0Cg3WwT2PjKyiQ13iM/s1600/psk_xcos_e.jpg) |
Sistema formado por vários blocos construídos a partir de blocos primitivos, nessa simulação a taxa de erro foi de 0,0078. | |
|
|
|
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDv6GEU6lH1WPYAZNMIbNdk99_tDcsklrPuCwbpS1KBvw6RIiNCCMrM17zgXfSZfqCTBlV8hfSwnYAqHxdyWDPfsx5WaYfntvmE7CQG9skoValxKxQpp-6y6vMIaqsfkOvPA8CWZu-xtg/s1600/resultado_g.jpg) |
Constelação 16-PSK com ruído. |
Para adicionar os novos blocos ao navegador de paletas é fácil e pode ser feito em apenas dois passos. O primeiro passo é criar um novo diagrama e nesse novo diagrama inserir os blocos criados:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMb2etZMoLbU08ihkE_xiZOjtoYpisgmRnBoX6LF_hm4pcLUJUwTcflOfgE0W16NDmOLUo2cSS7wJU7MZ4oweWIr6va7iQzD3qqFmOm-bcoLPqaJaw0P0VjTWMxPfoL_COojy1Qw2f-Co/s1600/novo_diag.jpg) |
Ao criar um novo diagrama, uma janela vazia irá parecer. |
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwr4W1xitIFIDv3c1WcmmuZR3jUrJI9RiGK9wmQanGT7xjrNyyw8E1FidR7aY1uvPk1pTt_Cojy41ABnu3FlyCryvRTuMdRzOzM00LrAFhpyde2KUywwvKWwwGSae6s5dSuywfHBGQr1M/s1600/novo_diag_b.jpg) |
Novo diagrama com vários novos blocos. |
No navegador de paletas, clicar sobre o menu Paletas (só tem esse item) e "Abrir" o arquivo ".zcos" que tem os novos componentes. Feito isso, os novos componentes estarão disponíveis para uso em qualquer outra simulação.
Nenhum comentário:
Postar um comentário