- 博客(187)
- 资源 (33)
- 收藏
- 关注
原创 修身以俟,顺受其正。
修身以俟,顺受其正。知是心之本体,心自然会知:见父自然知孝,见兄自然知弟,见孺子入井自然知恻隐。大学之道,在明明德,在亲民,在止于至善。是什么:心即理。一直在说致良知,何谓良知。良知即是心之本体,亦即天理。怎么办:知行合一。尽夫天理之极,而无一毫人欲之私。为什么:为安心立命。
2022-08-24 19:28:55
488
1
原创 写mfc的几个error
1.error C2664: “CFileDialog::CFileDialog(BOOL,LPCTSTR,LPCTSTR,DWORD,LPCTSTR,CWnd *,DWORD,BOOL)”: 不能将参数 2 从“const char [4]”转换为“LPCTSTR”1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换解决:项目----属性----常规----字符集----使用多字节字符集2.error C4996: ‘strcpy’:
2022-05-04 15:08:10
693
原创 rtklib 代码阅读与调试(一)
1.int main里的形参通过参数命令传入。argc是参数个数,这个个数比你输入的实际个数多一个。例如输入-p 0 -m 15 -n -o out.pos 07590920.05o 30400920.05n时,argc=10,argv[0]是“。。。/…exe;argv是传入的参数指针。argv指向char * ,这里是char*数组,数组内存放参数的地址。参数命令可查看manual。2. 结构体赋初值结构体中变量全是char类型,可以这样赋初值全为空。3.输入文件指针,infil
2022-03-26 11:25:05
2392
1
原创 c语言字符串数组&数组名与指针
一、概念理解1.C语言中没有字符串类型,用一片内存空间保存一串字符,这片空间称作字符数组。2.以‘\0’结尾的字符数组被称为字符串数组。‘\0’是字符串结束的标志。3.用双引号括起来的都是字符串。二、初始化char str[6] = {‘h’,‘e’,‘l’,‘l’,‘o’,’\0’};//字符串数组char str[6] = “hello”; //简化版写法char str[6] = {‘h’,‘e’,‘l’,‘l’,‘o’};//str[5]的内存上自动赋值为’\0’char str[1
2022-03-26 10:19:02
1875
转载 线性时不变系统的卷积性
1.何谓线性系统为什么线性系统如此重要呢 ?如果我们已知一个系统是线性系统,一旦你有了任何特定输入的输出,你就可以在不进行实际测试的情况下计算出所有其他输出。这就是线性系统的优点比如 f(1)=2 你需要求解f(5)的值f(5)=f(1+1+1+1+1)= f(1)+f(1)+f(1)+f(1)+f(1)=10.2.何谓时不变系统如果你的系统是时不变系统,如果将相同的输入输入到系统中,无论何时将输入输入到系统中,都将获得相同的输出。3.何谓因果系统在系统中,某时刻的输出只与该时刻及以前
2022-02-28 06:24:09
904
原创 论文《基于FPGA 的CFAR 设计与实现》复现
书接上回,老师让做czt后,再做一cfarcfar算法原理:。均值类CFAR 适用于空间上统计平稳的背景,它在检测单元前、后沿各有一个覆盖若干距离单元的滑动窗,利用滑动窗中参考采样的均值,形成前、后沿局部估计,再对局部估计平均、选大、选小或加权平均,以确定检测单元的背景杂波平均功率估计。 鉴于信号可能会跨越到前后邻近单元中,检测单元及其临近前后距离单元一般不包括在平均窗内,若检测单元中信号幅度大于滑动窗内均值的K 倍,则认为是信号。matlab仿真%% 程序初始化clc;clear all;cl
2022-02-19 11:16:47
3171
5
原创 GPS接收机中模拟一阶环路滤波器matlab实现过程推导
GPS接收机跟踪环,使用模拟环形式,即参数为时间常数τ1,τ2\tau _1,\tau _2τ1,τ2,而非c1和c2。 % Implement carrier loop discriminator (phase detector) carrError = atan(Q_P / I_P) / (2.0 * pi); % Implement carrier loop filter and generate NC
2021-12-09 11:26:06
691
原创 关于数字采样溢出点(采样周期非码波形周期的整数倍时)的一点思考
1.GPS信号采样由于CA码的码率为1.023MHz,因而采样速率不能等于1.023M的整数倍。例如,当采样速率为5.115M时,即为码速率的5倍时,每个CA码对应5个采样点,相邻两个采样点之间相隔195.5ns(1/5.115M).如图a所示,当次啊杨时间偏移量小于195.5ns时,两种采样得到完全相同的采样结果。也就是说在采样率与码速率同步的情况下,接收机能检测出的CA码精度大于195.5ns,小于195.5ns的就检测不出来了,相当于伪距测量误差高于58.7m。而当采样率与码速率不同步时,如图b
2021-12-02 09:59:36
1677
2
原创 伪距定位算法
伪距定位算法:1.准备数据与设置初始解:准备卫星位置(经地球自转校正后)和伪距值设置接收机位置2.非线性方程线性化3.求解非线性方程4.更新非线性方程的根5.迭代完毕function [pos, el, az, dop] = leastSquarePos(satpos, obs, settings)%satpos卫星坐标xyz;obs观测伪距%Function calculates the Least Square Solution.%%[pos, el, az, dop] = lea
2021-12-01 10:12:42
2442
2
原创 国际原子时、世界时、协调时、GPS时
1.国际原子时AT,时钟均匀,原子钟产生2.世界时UT ,地球自传周期产生,由于极移、地球自传速度不恒定等原因,世界时不均匀。世界时以每年1s的速度变慢。3.协调时UTC,世界时和原子时的折衷方案。协调时整体上保持世界时的值,但是均匀的。即以精确的原子时秒长为基础,当协调时与世界时差距超过0.9s时,协调时插一秒。4.GPS时,永远落后原子时19s。1980那年,GPS时=协调时,现在GPS时快于协调时约18-19s,也即原子时快于协调时38s。https://en.racelogic.sup
2021-11-27 21:55:47
4206
原创 GPS 计算卫星坐标
function [satPositions, satClkCorr] = satpos(transmitTime, prnList, ... eph, settings) %SATPOS Computation of satellite coordinates X,Y,Z at TRANSMITTIME for%given ephemeris EPH. Coordinates are computed for e
2021-11-27 21:14:48
1586
原创 GPS导航电文 IODC
function [eph, TOW] = ephemeris(bits, D30Star)%Function decodes ephemerides and TOW from the given bit stream. The stream%(array) in the parameter BITS must contain 1500 bits. The first element in%the array must be the first bit of a subframe. The subfr
2021-11-27 20:33:44
1125
原创 GPS原理与接收机设计
第一章1. GPS 系统工作原理:卫星向地面发射信号,地面监控部分通过接收、测量卫星信号,确定卫星运行轨道,并将卫星运行轨道信息发送给卫星,卫星在其发射的信号上转播这些卫星运行轨迹信号,用户接收测量 卫星信号并从中获取卫星位置,确定自身位置。即信息推算过程:测控站位置–>卫星位置–>用户位置2.现役卫星3.地面监控站2个主控站 五角星11个注入站 三角16个监测站 圆圈数据流:卫星–>监测站–>主控站–>注入站–>卫星注入站采用C波
2021-11-27 19:41:13
1642
原创 matlab生成数据以二进制数据格式写入txt文件中
1.matlab生成数据以二进制数据格式写入txt文件中QB=16;%将生成的数据以二进制数据格式写入txt文件中Q_x=round(se1_addnoise/max(abs(se1_addnoise))*(2^14-1););%QB比特量化%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%新建文本文件前,必须建好文件存放的目录文件夹,否则出现提示信息:%??? Error using ==> fprintf%Invalid file identifier
2021-11-27 14:20:31
5215
原创 5G通识知识
1. 5G应用场景5G之前的数据通信场景主要是个人消费互联网,其主要关注速率指标。5G之后主要是工业互联网,应用场景对时延、用户连接数也提出了要求。5G应用场景主要分为三大类,eMBB,enhanced mobile broadband;uRLLC, ultra-Reliable &low latency communction; mMTC,massive machine type communication。2.移动通信网络构成接入网、承载网、核心网3.5G关键技术承载网和核心网大
2021-11-06 11:03:48
772
原创 心中有电路
reg rstb; always @ (posedge clk_in or negedge rst_n )begin if (!rst_n) begin rstb<=1'b0; end else if(czt_en_100m)begin rstb<=1'b0; end else if(addr_din_rd[8:0]==9'd511) begin rstb<=1'b1; end else be
2021-11-04 15:12:11
188
1
原创 modelsim单独仿真有ise ip的工程步骤
这里参考ise+modelsim联合仿真时自动生成的do文件do文件有.fdo后缀的功能仿真do文件,也有.tdo后缀的时序仿真do文件1.建库脚本输入:cd E:/hhhvlib work或者图形化界面:file->new->library2.编译文件vlog “fft_timesim.v”vlog “fft_tb.v”注意要把文件放入当前工作区目录(work的上一层,即E:/hhh里),或者图形化界面:compilefft_timesim.v网表文件里有这
2021-10-30 23:55:48
705
原创 verilog实现czt变换
没太有心思写具体过程了,仅记录设计(编代码)过程中的几个版本原理及实现步骤版本一刚开始写不太会写,考虑数据流方式进行fft,ifft等操作,数据延迟搞不清,就将数据全部进行加载,类似于将串行数据流并行读入并使用,这样使用时就不用考虑延迟对不准数据使用错误了。即://数据wire signed [15:0]inputdata_r; gen_inputdata u_gen_inputdata( .clka(clk_in), .addra(inputdata_addr),
2021-10-06 11:17:54
1518
2
原创 有时候matlab得到的cos(sin) 的fft的为什么不是纯实(虚)的
前两天忘记是哪个点有个什么契机画了个cos的频谱图,从原理上我们知道cos的频谱是纯实的,但是clear allfs=200;% N=2000;t=0:1/fs:10;f=50;x=cos(2*pi*f*t);yr=real(fft(x));yi=imag(fft(x));subplot(2,1,1);plot(yr);subplot(2,1,2)plot(yi);虚部竟然不是纯0,而且数值还不小。今天有时间又想了想这个问题。原来之前看到的一个结论可以解决这个问题没错就是
2021-09-12 10:19:41
974
原创 1.Verilog 取绝对值 2.rom地址和数据的对应关系
dina[4*LNA+(i-4)*LNB+j]<=sign_llr[4*LNA+(i-4)*LNB+j]?(~mix_llr[i]+1):mix_llr[i];//取绝对值
2021-08-21 09:22:36
682
原创 星间链路信号衰减推导
Ka波段 26.5-40GLeo轨道高度400-2000Km衰减=32.4+20lg(30,000)+20lg(1000)=180天线馈源端接收信号功率PR=GRGTPTLP{P_R} = \frac{{{G_R}{G_T}{P_T}}}{{{L_P}}}PR=LPGRGTPT天线扫描波束为窄波束,波束宽度为0.18度,馈源天线增益:Gr=Gt=60dBPt=10w=20dBWPr=20+60+60-L(dBW)参考:https://blog.youkuaiyun.com/weix
2021-05-30 18:24:30
1554
4
原创 matlab伪随机序列的状态 rand(‘state‘,sum(100*clock))的作用
rand(‘state’,sum(100clock));randn(‘state’,sum(100clock));我们知道rand函数返回一个符合均匀分布的矩阵,randn函数返回一个符合正态分布的矩阵。返回数据均为伪随机数。伪随机数,首先是随机数,前后数据之间没有任何规律,但其是从一随机数序列中截取而来,当截取点确定,那么该截取序列也就确定,故名曰伪随机数。这个截取点在matlab中叫做状态。当我们每次重启matlab时,状态便会置为0。即两次重启之后产生的伪随机序列是相同的,其不确定性不能得到保证
2021-05-24 10:39:58
2871
1
原创 自动频率控制 AFC环--锁频环 FLL
零、引言锁相环路捕获时间直接与初始频差相关,初始频差越大,捕获时间越长。另一方面,锁相环的捕获带宽较小。因此,十分有必要在锁相环路前加一级锁频环路,将载波频偏控制在一较小范围内,便于锁相环的快速捕获。一、最大似然频偏估计设接收信号r(t)=sin(wit+θi)+n(t){\rm{r}}(t) = \sin ({w_i}t + {\theta _i}) + n(t)r(t)=sin(wit+θi)+n(t)在突发通信中,用于频偏估计的信号一般是导频信号。设本地信号为:voq(t)=cos
2021-05-21 10:58:46
4457
原创 vivado fir ipcore 进制位宽小数位宽的问题
第一个数0001c2的由来:输入数据A6(-0.707),8位有符号数滤波器系数第一个-5,14位有符号数先将两乘数得22位,扩展为24位再相乘为什么是24位?AXI总线结构必须以字节为单位如果是扩展到22位的话是c001c2(如下图) ,所以应该不是扩展到22位ps:这里我设置的输入数据小数位为0,即A6(10100110)表示-90,-90*-5=450 (1c2)是正确的。但是如果我设置小数位为7位,结果是一样的,还是1c2你把vivado 显示调整成7位小数,就变成:3.
2021-05-02 11:48:44
1278
2
转载 有符号二进制数的乘法
x=101=-3 和y=011=3相乘 结果为110111=-9把前面的符号位补出来相乘以后,才是这道题的答案(在截取6位数)。(111 101)*(000011)=110111=-9————————————————版权声明:本文为优快云博主「武当王也123」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.youkuaiyun.com/wangjunjie_123/article/details/105498800另外之前简单考虑,三
2021-05-02 09:34:35
2861
原创 vivado fir核 实现 成型滤波及其前端速率匹配
一、滤波器系数生成B = rcosfir(R, N_T, RATE, T)N_T可以是小数,rom初始数据所需的coe文件用:memory_initialization_radix=2;memory_initialization_vector=fir加载滤波器系数所需的coe文件用:radix=10;coefdata=clear allN=14;%系数位数rcos_filter=rcosfir(0.35,7.5,4,1);%max_rcos_filter = max(rcos_filte
2021-04-29 17:40:10
2536
6
原创 matlab 加扰 移位寄存器
1.模二加 就是 异或function dout=scramble(din,N)%g=1+x-14+x-15n=mod(length(din),N);d=[din, zeros(1,N-n)];frmNum=length(d)/N;for j=1:frmNum reg_ini = [0 0 1 0 0 1 0 0 1 0 0 1 0 0 1]; reg = reg_ini; for i = 1+(j-1)*N:N+(j-1)*N dout(i)=xo
2021-04-23 20:23:24
1413
原创 半带滤波器 cic滤波器
半带滤波器阶数为偶数,长度为奇数。通常在2的幂次方的抽取和插值中。单位冲激响应除了0 处不为零,其他偶数点全是0,所以只需一般的计算量。半带滤波器通带和阻带相对于二分之一奈奎斯特频率对称,幅频响应关于pi/2对称。所以成为半带滤波器。半带滤波器通带起伏小,相对于cic,能得到更小的EVM。EVM:误差向量幅度cic滤波器滤波器抽头系数为1,不用乘法器。cic级联数越多,通带越不平缓。所以一般用于速率转换的最后一级,即为HB+HB+HB+CIC,cic专门用来满足非2次幂的需求。.
2021-03-30 19:02:09
3547
原创 Linux下编译Verilog流程---vcs+verdi
概述:用的是vnc在Windows环境下控制显示远程服务器桌面,然后建立工程,采用脚本的方式用vcs编译,用Verdi进行波形查看。工程建立工程文件夹下建立top、hdl、lib、env、sim、debug、filelist、syn、testcase共九个子文件夹。top中放顶层(tb)文件,hdl中放设计文件,lib中放厂商提供的库及ip核文件,env放top中所需要的driver、monitor文件等,即在调试过程中不变的一些文件(量),filelist指明这些文件分别在的路径,sim中的.sh
2021-03-21 10:51:36
2925
原创 c++结构体 值传递 冒泡排序
#include#include using namespace std;struct hero{string name;int age;string gender;};void paixudayin(hero s1[3],int len){for (int i = 0; i < len - 1; i++){for (int j = 0; j < len - i - 1; j++){if (s1[j].age>s1[j + 1].age){hero temp =
2021-02-14 14:40:04
149
原创 c/c++与verilog中switch-case之不同
c/c++switch(表达式){case 结果1 :执行语句;break;case 结果2 :执行语句;break;default:执行语句;break;}verilogwire sel [2:0] ;always@(posedge clk)begin casez(sel) 3’b001: data_out <= data_in0 ; 3’b01?: data_out <= data_in1 ; 3’b1??: data_out <= data_in
2021-02-12 19:29:25
2965
1
转载 Linux和GNU系统
Linux和GNU系统Richard Stallman 著原文链接:http://www.gnu.org/gnu/linux-and-gnu.html更多信息,请同时参看GNU/Linux常见问题和为什么是GNU/Linux?每天都有许多计算机用户使用一个被改动过的GNU系统,但是他们并没有意识到。经过一系列的事件,现在被广泛使用的GNU版本则经常被称作“Linux”,而且许多用户并不了解它基本上就是GNU系统,是由GNU工程开发的。Linux确实存在,许多人都在使用它,但它仅仅是所用系统的一部分
2021-01-19 09:06:37
197
原创 yunsdr y320 matlab构建通信收发机数据流程
在ps的控制下,将pc段网线得到的数据传送至ddr,在pl的控制下,将ddr中的数据传送至dma,dma的数据最终送入rf,进行发送。
2020-12-30 10:01:12
772
原创 matlab 编译c++
1.首先安装c++编译器 安装免费提供的 MinGW-w64 C/C++ 编译器2.添加环境变量 或者matlab里运行 setenv(‘MW_MINGW64_LOC’,‘G:\package\mingw64’)(下次打开还提示找不到c++编译器可以运行一遍上面语句3. 在MATLAB环境下访问外部函数的共享库文件,必须首先把该库文件加载到内存中。一旦加载成功,就能直接在MATLAB中直接请求关于函数的任何信息。而当不再需要该库时,就应当及时把库文件从内存 中卸载以节省内存开销。加载
2020-12-29 14:42:19
805
原创 yunsdr y320 ADF4001
Y320 增加了外部参考校准的功能,可以通过外部参考时钟和 1pps 脉冲对板卡上的 VC-TCXO(温补压控振荡器)进行校准,使板载时钟的基准频率与参考时钟一致。原理框图如下:外部参考时钟 refrerence 和 vc-tcxo 时钟 vc-clock 分别进行分频,分频后鉴相,将 CP电压输出给 VC-TCXO 的压控端,当 ADF4001 锁定后 VC-TCXO 与外部参考的基准时钟严格同频。假设外部参考 10MHz,本地晶振 26MHz, rcount 表示参考频频系数, ncount表示本
2020-12-28 10:33:46
1228
1
原创 TDD与FDD模式
1.TDD与FDD通过ad9361外部射频开关切换2.ad9361可一直工作在FDD模式3.FDD可同时收发,即TRX发,RX收;TDD不可同时收发,所以可复用端口,TRX收发,RX不用
2020-12-25 22:10:11
2460
原创 ip地址 子网掩码与默认网关
1.ipv4:IP地址由四段组成,每个字段是一个字节,8位,最大值是255IP地址由两部分组成,即网络地址和主机地址。网络地址表示其属于互联网的哪一个网络,主机地址表示其属于该网络中的哪一台主机。二者是主从关系。IP地址的四大类型标识的是网络中的某台主机。IPv4的地址长度为32位,共4个字节,但实际中我们用点分十进制记法。IP地址根据网络号和主机号来分,分为A、B、C三类及特殊地址D、E。 全0和全1的都保留不用。在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下:
2020-12-25 21:28:16
13185
原创 三阶环,卒,没推出来
% Implement carrier loop filter and generate NCO command d2CarrError = d2CarrError + carrError * pf3; dCarrError = d2CarrError + carrError * pf2 + dCarrError; carrNco = dCarrError + carrError * pf1;
2020-12-23 11:08:33
271
1
原创 接收机跟踪环路几个参数
二阶锁相环系统函数H(s)中就只有阻尼因子、特征频率两个未知数。所以说特征频率、阻尼因子决定了二阶环的性能。一般三阶环就不用阻尼因子这个参数了。一阶环路系统函数:H(s)=ωns+ωnH(s) = \frac{{{\omega _n}}}{{s + {\omega _n}}}H(s)=s+ωnωn二阶环路系统函数:H(s)=Kτ2s+1τ1ss+Kτ2s+1τ1s=Kτ2τ1s+Kτ1s2+Kτ2τ1s+Kτ1=2ξωns+ωn2s2+2ξωns+ωn2H(s) = \frac{{K\frac
2020-12-23 10:00:08
825
am语音信号调制解调的simulink仿真
2020-08-08
Mathpix Snipping Tool.7z
2020-01-06
AD9361_CS_Installer_v211.7z
2019-12-23
dcontrol 用来关闭antimalware service executable,防止其占用过多cpu资源
2022-05-02
均衡 盲均衡 CMA verilog 没使用IP核 quartus ise vivado 都可以打开
2021-11-27
fpga dds nco.7z
2020-04-29
matlab图中图.7z
2020-03-20
uiso9_cn.7z
2020-03-08
GPS接收机捕获跟踪解调.7z
2020-02-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人