当前位置:网站首页>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
边栏推荐
- Class is coming. Roll call is needed
- Matlab implementation code of image denoising method based on Hidden Markov tree model in wavelet domain
- 剑指Offer刷题记录——Offer 07.重建二叉树
- Performance test and price comparison of cloud servers of Alibaba cloud, Tencent cloud, Huawei cloud, ucloud and Tianyi cloud
- Zuul路由的映射规则配置
- 103.53.124.X IP段BGP线路和普通的专线有什么区别
- Weight matching (greedy)
- Xiaodi network security - note encryption coding algorithm (6)
- mysql的复习总结
- 字典、元組和列錶的使用及區別,
猜你喜欢

SSH remote login service

m基于matlab的DQPSK调制解调技术的仿真
Xiaodi network security notes - Information Collection - architecture, construction, WAF (8)

m基于matlab的MIMO信道容量分析,对比了不同天线数量;非码本预编码SVD,GMD;码本预编码DFT,TxAA以及空间分集

Minecraft paper version 1.18.1 open service tutorial, my world open service tutorial, mcsmanager 9 panel use tutorial

Filter过滤器

UCloud(优刻得) 上海 ARM 云服务器评测
How does the advanced anti DDoS server confirm which are malicious ip/ traffic? ip:103.88.32. XXX

Arm server building my world (MC) version 1.18.2 private server tutorial

Solve the problem that the unit test coverage of sonar will be 0
随机推荐
递归访问目录,打印斐波那契数列,高阶函数
How do you know whether the network needs to use advanced anti DDoS server? How to choose the computer room is also very important, as well as the stability of the later business
5G时代服务器在这里面起着什么作用?
What does ack attack mean? How to defend ack attack
About file upload and download
IP fragment是什么意思?如何防御IP fragment攻击?
linux下执行shell脚本调用sql文件,传输到远程服务器
m基于matlab的BTS天线设计,带GUI界面
103.53.124. What is the difference between X IP BGP line and ordinary dedicated line
Tower of Hanoi 2 (function)
Data analysis and visualization -- the shoes with the highest sales volume on jd.com
ACK攻击是什么意思?ACK攻击怎么防御
Minecraft基岩版BDS开服教程
The use and differences of dictionaries, tuples and lists,
What happened to redraiment
Utilisation et différenciation des dictionnaires, des tuples et des listes,
Xiaodi network security - note encryption coding algorithm (6)
Intranet penetration server building tutorial, NPs use tutorial
4.IDEA的安装与使用
基于simulink的转速反馈单闭环直流调速系统