SpringBoot环境配置
SpringBoot环境配置
Windows
操作系统:Windows 11 Pro 24H2
安装包路径
Java(TM)SE Development Kit 24.0.1(64-bit)
IntelliJ IDEA Community Ultimate 2025.1.3
Apache Maven 3.9.10(下载.zip文件并解压)
添加环境变量
新建系统变量:
变量名为JAVA_HOME,变量值为C:\Software\Java\jdk-24
变量名为MAVEN_HOME,变量值为C:\Software\Java\Maven
系统变量Path中添加C:\Software\Java\jdk-24\bin和C:\Software\Java\Maven\bin
添加完成后打开PowerShell,执行java --version,显示如下
12345❯ java --versionPicked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8java 24.0.1 2025-04-15Ja ...
经过射频上变频后IQ为什么反了?
经过射频上变频后 IQ 为什么反了?
数学原理
设数字域信号为 ,经过中频上变频,DAC 发射信号为 频域表示为
经过射频的上变频,最终发射信号表示为
(未完待续……)
仿真(MATLAB)
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495close all; clear; clc;%% System Parametersfs = 24.576e3; % 24.576MHzfc = 10; % 10kHzf_if = 50; % 50kHzf_rf1 = 450; % 450kHzf_rf2 = 550; % 550kHzN = 2 ^ 20;t = 0: 1/fs : ...
LeetCode 169. 多数元素
【LeetCode】 169. 多数元素
哈希表
算法
用哈希表存储每个元素以及其出现的次数。
123456789101112131415161718class Solution {public: int majorityElement(vector<int>& nums) { int res = 0; int cnt = 0; for (const auto & num : nums) { ++mp[num]; if (mp[num] > cnt) { res = num; cnt = mp[num]; } } return res; }private: unordered_map<int, int> mp;};
复杂度分析
时间复杂度:,遍历数组nums一次,插入哈希表需要常数时间;
空间复杂度:,题目中说明 ...
最小二乘法
最小二乘法
假设模型的真实参数为,真实输出值为,观测值为,观测值和真实值之间总是存在误差,根据大数定理,误差项满足高斯分布,则样本观测值满足。
每个样本发生的概率为 似然函数为
即极大似然函数等价于极小最小二乘法的代价函数,从而说明最小乘法选择最佳平方逼近的合理性。
判圈法
判圈法
Floyd判圈法
Floyd判圈法
利用快慢指针,快指针步进速度为慢指针的两倍,若是链表中存在环,则两个指针一定会相遇,且快指针路程比慢指针路程多圈长度的整数倍。
假设两个指针在点相遇,则有
快指针:
慢指针:
【LeetCode】141. 环形链表
12345678910111213141516171819202122class Solution {public: static bool hasCycle(ListNode *head) { if (head == nullptr || head->next == nullptr) { return false; } ListNode *low = head; ListNode *fast = head->next; while (fast != nullptr) { if (fast == low) { return true; ...
多相滤波器
多相滤波器
多相滤波器常用语多速率数字信号处理系统。
假设要对输入数据序列进行倍下采样,为了避免频谱展宽导致的混叠,首先要进行抗混叠滤波,然后对滤波结果进行下采样,显然,滤波输出中每个数据就有个数据会被丢弃,也就是说,针对这个数据的滤波处理是浪费的,多相滤波器就是为了解决这一计算浪费问题而设计的。
假设要对输入数据进行倍上采样,在上采样之后,需要进行滤波处理以消除镜像,一般做法是先进行插零上采样,然后进行滤波。采用多相滤波器可以颠倒采样和滤波的顺序以降低运算量。
诺贝尔恒等变换
在对滤波器进行适当变形分解后,可以交换上/下采样处理和滤波处理的顺序,并且保证处理结果一致。
多相分解
Ⅰ型多相分解
设输入信号为,滤波器冲激响应为,先进性抗混叠滤波再进行下采样处理,过程如下
数字滤波器,定义,称为的第个分组,
令,则 若,则称为的第个多相分量,
将均分为组,除余的分在一组,e.g.
已知阶数字滤波器单位脉冲响应为,求时的多相分解
Ⅱ型多相分解
令,得到Ⅱ型多相分解
滤波器结构
Ⅰ型分解
Ⅰ型分解
...
同步有限状态机
同步有限状态机
同步有限状态机(Finit State Machine, FSM)用于FPGA处理具有时间上先后顺序的事件。同步指的是所有状态转移都在时钟作用下进行,有限指的是状态有限。
分类
Mealy型状态机:输出取决于当前状态与输入;
Moore型状态机:输出取决于当前状态,与输入无关;
写法
一段式状态机:一个always模块中既描述状态转移,又描述输入和输出;不推荐
二段式状态机:两个always模块,一个用同步时序逻辑描述状态转移,另一个用组合逻辑判断转移条件和输出。定义两个状态(现态和次态);组合逻辑容易产生毛刺,不利于约束,不推荐
三段式状态机:三个always模块,一个用同步时序逻辑描述状态转移,一个用组合逻辑判断转移条件,一个用时序逻辑描述状态输出;
123456789101112131415161718192021222324252627282930313233343536373839404142// 1. state 去哪里(时序逻辑)always @(posedge clk) begin if(!rst_n) begin ...
多线程编程
多线程编程(C语言版)
C语言中使用pthread库进行多线程编程。
创建线程
pthread_t用于声明线程ID;
1234567/* Create a new thread, starting with execution of START-ROUTINE getting passed ARG. Creation attributed come from ATTR. The new handle is stored in *NEWTHREAD. */extern int pthread_create (pthread_t *__restrict __newthread, const pthread_attr_t *__restrict __attr, void *(*__start_routine) (void *), void *__restrict __arg) __THROWNL __nonnull ((1, 3));
pthread_create函数使用线程ID创建一个线程,包含四个参数:线程ID、线 ...
信号边沿检测
信号边沿检测
测试程序见Euler0525@Wiki/programming/verilog/#信号边沿检测
名称
I/O
说明
clk
I
时钟信号
rst_n
I
(同步)复位
edge_pin
I
待检测信号
edge_neg
O
边沿
测试程序中的edge_pin为待检测边沿的信号,edge_d0和edge_d1分别为延迟信号。
123456789always@(posedge clk) begin if(rst_n == 1'b0) begin edge_d0 <= 1'b1; edge_d1 <= 1'b1; end else begin edge_d0 <= edge_pin; edge_d1 <= edge_d0; endend
为了检测edge_pin的边沿,我暂时可以想到以下几种方法(经测试后仅部分可行)
时序逻辑
12345678910111213 ...
噪声建模
噪声建模
——SNR与Eb/n0的关系
本文用到的符号表示:
:比特能量,单位
:噪声的功率谱密度,单位
:无量纲
:信号功率,单位
:噪声功率,单位
带宽
:信噪比,无量纲
:比特速率,单位;:传输每比特所需的时间
:符号速率,单位
:码片速率,单位
:调制星座点个数
:扩频比
:根升余弦成型滤波器的滚降因子
:内插系数
SNR(Signal Noise Radio)表示信噪比,表示传输信息所需要的能量与噪声功率谱密度的比值。对于数字信号来说,用时间长度为的波形表示码元,每个码元的平均功率为,因此不能用功率描述数字信号,因此采用码元能量来描述数字信号波形。 其中带宽,比特能量与符号能量满足关系,则
最终得到,
注:
在常规通信系统中,是仿真中的采样速率与符号速率之比;
在扩频通信系统中,是仿真中的采样速率与码片速率之比;
参考资料
What are SNR and Eb/No?
GEL7014 - Week 6e - EBN0 vs SNR