当前位置:网站首页>M FPGA implementation of chaotic digital secure communication system based on Lorenz chaotic self synchronization, Verilog programming implementation, with MATLAB chaotic program
M FPGA implementation of chaotic digital secure communication system based on Lorenz chaotic self synchronization, Verilog programming implementation, with MATLAB chaotic program
2022-07-19 07:08:00 【I love c programming】
Catalog
3. Preview of some simulation drawings
4. Source code acquisition method
1. Algorithm description
The basic structure block diagram of this system is shown below :

System top-level file
—— Encryption modulation module
———— Encryption sub module ,lorenz Chaotic sequence generation module , Framing module , Parallel serial module .
—— Decryption and demodulation module
———— Decryption sub module ,Lorenz Chaotic sequence generation module , Frame search module , Serial parallel module .
The pin of the top-level file is :
1 | i_clk | The system clock , It is connected to the crystal oscillator position on the hardware board . |
2 | i_rst | System reset , Casually connected to the board key On the number keys . |
3 | o_signal_enable | Test the generation of parallel signals and enable signals , Don't connect the board , |
4 | o_signal | Test parallel signals , This signal is for verification , You can take it signaltapII On |
5 | o_enable | Enable signal of encryption module , Don't connect the board |
6 | o_serial_dout | Serial output , Connect the test pin on the board or signaltapII On |
7 | o_serial_frame | Serial signal framing output , Connect the test pin on the board or signaltapII On |
8 | o_T_signal | Encrypted output , This signal is for verification , You can take it signaltapII On |
9 | o_dout | Decrypt the output , Can connect signaltapII On |
10 | o_dout_sign | Decrypt the symbol decision of the output signal , Connect the test pin on the board or signaltapII On |
11 | o_peak | The correlation peak output of the frame search module , Don't connect the board |
12 | o_peak_enable, | Enable output of frame search module , Don't connect the board |
13 | o_peak_dout | Data output of frame search module , Connect the test pin on the board or signaltapII On |
14 | o_enable2 | Finally, the enable of serial parallel conversion , Don't connect the board |
15 | o_voice_dout | Finally, the data output of serial parallel conversion , Connect the test pin on the board or signaltapII On |
2. Partial procedure
clc;
clear;
close all;
warning off;
addpath(genpath(pwd));
N = 40000;
x = zeros(N,1);
y = zeros(N,1);
z = zeros(N,1);
x(1) = 0.001;
y(1) = 0.002;
z(1) = 0.02;
for n = 1:N-1
n
y(n+1) = 0.028*x(n) - 0.001*x(n)*z(n) + 0.999*y(n);
x(n+1) = 0.99*x(n) + 0.01*y(n);
z(n+1) = 0.001*x(n)*y(n) + 0.9973333*z(n);
end
figure;
subplot(221);plot(x,y);title('x-y');
subplot(222);plot(x,z);title('x-z');
subplot(223);plot(y,z);title('y-z');
subplot(224);plot3(x,y,z);title('x-y-z');
figure;
subplot(311);plot(x);title('x');
subplot(312);plot(y);title('y');
subplot(313);plot(z);title('z');//`timescale 1 ns/ 100 ps
module Decryption_complete_system(
i_clk,
i_rst,
i_rec_signal,
o_dout,
o_dout_sign,
o_peak,
o_peak_enable,
o_peak_dout,
o_enable2,
o_voice_dout
);
input i_clk;
input i_rst;
input signed[31:0] i_rec_signal;
output signed[31:0]o_dout;
output o_dout_sign;
output[6:0] o_peak;
output o_peak_dout;
output o_peak_enable;
output o_enable2;
output[15:0] o_voice_dout;
wire signed[31:0]xn;
wire signed[31:0]yn;
wire signed[31:0]zn;
Lorenz2 Lorenz2_u(
.i_clk (i_clk),
.i_rst (i_rst),
.i_yn (i_rec_signal),
.o_xn (xn),
.o_yn (yn),
.o_zn (zn)
);
Decryption Decryption_u(
.i_clk (i_clk),
.i_rst (i_rst),
.i_din (i_rec_signal),
.i_yn (yn),
.o_signal(o_dout)
);
reg o_dout_sign;
always @(posedge i_clk or posedge i_rst)
begin
if(i_rst)
begin
o_dout_sign <= 1'b0;
end
else begin
if(o_dout < 32'h0000_00ff)
o_dout_sign <= 1'b0;
else
o_dout_sign <= 1'b1;
end
end
find_frame find_frame_u(
.i_clk (i_clk),
.i_rst (i_rst),
.i_din (o_dout_sign),
.o_peak (o_peak),
.o_dout (o_peak_dout),
.o_enable(o_peak_enable)
);
s2p s2p_u(
.i_clk (i_clk),
.i_rst (i_rst),
.i_enable (o_peak_enable),
.i_serial_din (o_peak_dout),
.o_enable (o_enable2),
.o_voice_dout (o_voice_dout)
);
endmodule //`timescale 1 ns/ 100 ps
module Encryption_complete_system(
i_clk,
i_rst,
i_enable,//the enable of signal
i_voice, //the signal
o_enable,//the enable of p2s
o_serial_dout,//the serial data of signal
o_serial_frame,
o_T_signal//the data of Encryption
);
input i_clk;
input i_rst;
input i_enable;
input[15:0] i_voice;
output o_enable;
output o_serial_dout;
output o_serial_frame;
output signed[31:0]o_T_signal;
//change the parallel data to serial data
p2s p2s_u(
.i_clk (i_clk),
.i_rst (i_rst),
.i_enable (i_enable),
.i_voice (i_voice),
.o_enable (o_enable),
.o_serial_dout(o_serial_dout)
);
add_frame add_frame_u(
.i_clk (i_clk),
.i_rst (i_rst),
.i_din (o_serial_dout),
.i_enable (o_enable),
.o_dout (o_serial_frame),
.o_enable ()
);
wire signed[31:0]xn;
wire signed[31:0]yn;
wire signed[31:0]zn;
Lorenz Lorenz_u(
.i_clk (i_clk),
.i_rst (i_rst),
.i_yn (o_T_signal),
.o_xn (xn),
.o_yn (yn),
.o_zn (zn)
);
Encryption Encryption_u(
.i_clk (i_clk),
.i_rst (i_rst),
.i_din (o_serial_frame),
.i_yn (yn),
.o_signal (o_T_signal)
);
endmodule 3. Preview of some simulation drawings




4. Source code acquisition method
Get the way 1:
Click the download link :
Access method 2:
Blog resource item , Search for resources with the same name as blog .
Access method 3:
If the download link fails , Blogger wechat contact .
01_053_m
边栏推荐
猜你喜欢

各大云服务厂商 轻量应用服务器 性能评测对比,阿里云、腾讯云、华为云、Ucloud

字典、元組和列錶的使用及區別,

Steam game server configuration selection IP
![Minecraft integration package [gtnh] gray Technology: new vision server building tutorial](/img/59/d5f226f57cfd7d28d5a76ff38fae16.png)
Minecraft integration package [gtnh] gray Technology: new vision server building tutorial

Steam游戏服务器配置选择 IP

Matlab implementation code of image denoising method based on Hidden Markov tree model in wavelet domain

WCDMA soft handoff performance matlab simulation m, comparing the average number of activation sets (MasN), activation set update rate (Asur) and call interruption probability (OP) three performance i

m3GPP-LTE通信网络中认知家庭网络Cognitive-femtocell性能matlab仿真

Minecraft bedrock BDS service tutorial

快速掌握sort命令,tr命令
随机推荐
SYN洪水攻击的原理,syn洪水攻击的解决办法
5G时代服务器在这里面起着什么作用?
Postage range (array or + function)
ARM服务器搭建 我的世界(MC) 1.18.2 版私服教程
103.53.124. What is the difference between X IP BGP line and ordinary dedicated line
Class is coming. Roll call is needed
[automated testing] - robotframework practice (I) building environment
数据保护/磁盘列阵RAID保护 IP段103.103.188.xxx
[automated testing] - robotframework practice (II) new test cases
Performance test and price comparison of cloud servers of Alibaba cloud, Tencent cloud, Huawei cloud, ucloud and Tianyi cloud
类与对象
论文阅读:Deep Residual Learning in Spiking Neural Networks
Minecraft基岩版BDS开服教程
Xiaodi network security - Notes (4)
论文阅读:Deep Residual Shrinkage Networksfor Fault Diagnosis
爬虫基础—代理的基本原理
我的世界1.12.2 神奇宝贝(精灵宝可梦) 开服教程
Xiaodi network security - note encryption coding algorithm (6)
Maomao goes to work (recursive)
PyTorch学习日记(四)