<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[GLOMCJ的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/GLOMCJ</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; GLOMCJ]]></copyright><item><title><![CDATA[初始接入场景]]></title><link>https://blog.youkuaiyun.com/GLOMCJ/article/details/124841294</link><guid>https://blog.youkuaiyun.com/GLOMCJ/article/details/124841294</guid><author>GLOMCJ</author><pubDate>Wed, 18 May 2022 14:13:40 +0800</pubDate><description><![CDATA[总的终端开机流程为：小区搜索（PSS、SSS–&gt;PBCH解码获取MIB–&gt;得到PDCCH中的DCI–&gt;解码SIB1–&gt;根据SIB1信息配置基站侧RRC高层参数信息，确定前导码的选取以及前导码传输的时频资源–&gt;UE在PRACH上发送随机接入前导（Msg1–&gt;UE在PDCCH/PDSCH上接收随机接入响应（Msg2–&gt;UE通过RAR中的上行授权的调度信息在PUSCH上发送Msg3–&gt;UE在PDCCH/PDSCH上接收竞争解决消息（Msg4）。
总的来说分为下行同步]]></description><category></category></item><item><title><![CDATA[rng(‘default‘)]]></title><link>https://blog.youkuaiyun.com/GLOMCJ/article/details/119607062</link><guid>https://blog.youkuaiyun.com/GLOMCJ/article/details/119607062</guid><author>GLOMCJ</author><pubDate>Wed, 11 Aug 2021 14:57:52 +0800</pubDate><description><![CDATA[产生伪随机数有一个种子，所谓的伪随机就是指有一定“规律”，而这个种子就是这个“规律”。
rng(‘default’)就是用默认种子。不写也是一样的，只要你没改变过种子，matlab刚打开默认就是种子0
默认种子是0，但不代表每次使用的都是0
比如三个m文件：
第一个：
rng(‘default’);
rand(1,10)
第二个：
rng(0);
rand(1,10)
第三个：
rand(1,10)
前两个每次运行的结果都一样，两段代码产生的随机数也一样，而第三个每次不一样

...]]></description><category></category></item><item><title><![CDATA[记录一下暑假找工作经历]]></title><link>https://blog.youkuaiyun.com/GLOMCJ/article/details/119571258</link><guid>https://blog.youkuaiyun.com/GLOMCJ/article/details/119571258</guid><author>GLOMCJ</author><pubDate>Tue, 10 Aug 2021 15:37:03 +0800</pubDate><description><![CDATA[8月10号晚上笔试紫光展锐，岗位是无线通信算法工程师。

]]></description><category></category></item><item><title><![CDATA[关于RNTI]]></title><link>https://blog.youkuaiyun.com/GLOMCJ/article/details/119248482</link><guid>https://blog.youkuaiyun.com/GLOMCJ/article/details/119248482</guid><author>GLOMCJ</author><pubDate>Fri, 30 Jul 2021 15:21:12 +0800</pubDate><description><![CDATA[由38.321  7.1节
可知，对于随机接入 RA-RNTI和TC-RNTI 其PDCCH和PDSCH中加扰流程中的扰码序列RNTI=0，故C_init = n_ID，同PBCH


]]></description><category></category></item><item><title><![CDATA[matlab 中括号里面有分号是什么意思]]></title><link>https://blog.youkuaiyun.com/GLOMCJ/article/details/118156533</link><guid>https://blog.youkuaiyun.com/GLOMCJ/article/details/118156533</guid><author>GLOMCJ</author><pubDate>Wed, 23 Jun 2021 16:42:52 +0800</pubDate><description><![CDATA[使用中括号[]表示数组时，分号;用来隔开行。用法如图。

使用中括号[]还可以拼接数组。如下，我们有两个数组A和B.
[A,B]相当于水平拼接A和B，即horzcat(A,B)
[A;B]相当于垂直拼接A和B，即vertcat(A,B)
具体见以下链接
https://jingyan.baidu.com/article/6079ad0eb611a928ff86db85.html

...]]></description><category></category></item><item><title><![CDATA[关于LTE 20M 带宽的采样率是30.72]]></title><link>https://blog.youkuaiyun.com/GLOMCJ/article/details/116793512</link><guid>https://blog.youkuaiyun.com/GLOMCJ/article/details/116793512</guid><author>GLOMCJ</author><pubDate>Fri, 14 May 2021 15:32:53 +0800</pubDate><description><![CDATA[LTE决定在单播（Unicast）系统中采用15kHz的子载波间隔，相应的符号长度为66.67μs（不包括CP）。这样的话 20MHz带宽能承载的子载波数大概就是 1300多个。FFT的前提就是点数必须是2的整数次幂。因此必须选一个2^n的数。比这个数大的数中最小的就是2048了。因此选IFFT（FFT）就是2048。但是我们知道OFDM两端边缘有频谱泄露 即使加窗也不能完全克服。如果我占用1300多个子载波的话，再加上频偏泄露，那信号的带宽肯定大于20M。但是只给我分配了20M，所以我就少占点，标准里定义]]></description><category></category></item><item><title><![CDATA[matlab自带的FFT函数]]></title><link>https://blog.youkuaiyun.com/GLOMCJ/article/details/116015237</link><guid>https://blog.youkuaiyun.com/GLOMCJ/article/details/116015237</guid><author>GLOMCJ</author><pubDate>Thu, 22 Apr 2021 15:06:48 +0800</pubDate><description><![CDATA[https://ww2.mathworks.cn/help/matlab/ref/fft.html?searchHighlight=fft&amp;s_tid=doc_srchtitle

]]></description><category></category></item><item><title><![CDATA[Q：在用深度学习的时候，比如面对一张图像，对某个区域感兴趣？ A：切割出来，只需要训练感兴趣的部分即可]]></title><link>https://blog.youkuaiyun.com/GLOMCJ/article/details/106430731</link><guid>https://blog.youkuaiyun.com/GLOMCJ/article/details/106430731</guid><author>GLOMCJ</author><pubDate>Fri, 29 May 2020 18:19:26 +0800</pubDate><description><![CDATA[Q：在用深度学习的时候，比如面对一张图像，对某个区域感兴趣？
A：切割出来，只需要训练感兴趣的部分即可
1.获取图片
2.转化为灰度图，并去噪声
3.提取图像梯度，使用Sobel算子
4.继续去噪声
5.图像形态学，获取整个轮廓
6.上诉操作完后会有细节丢失，补充细节，扩充
7. 找出目标区域的轮廓，此时用cv2.findContours()函数
8.画出轮廓。找到轮廓了，接下来，要画出来的，即用cv2.drawContours()函数。
9.裁剪所需轮廓的图像

...]]></description><category></category></item><item><title><![CDATA[cv2.error: OpenCV(4.2.0) C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:376: error:]]></title><link>https://blog.youkuaiyun.com/GLOMCJ/article/details/106429995</link><guid>https://blog.youkuaiyun.com/GLOMCJ/article/details/106429995</guid><author>GLOMCJ</author><pubDate>Fri, 29 May 2020 17:40:57 +0800</pubDate><description><![CDATA[其实是图片路径问题，python查找路径中的文件时不支持中文的，所以更改一下路径就好了。

]]></description><category></category></item><item><title><![CDATA[基于直方图优化的图像去雾技术]]></title><link>https://blog.youkuaiyun.com/GLOMCJ/article/details/106334396</link><guid>https://blog.youkuaiyun.com/GLOMCJ/article/details/106334396</guid><author>GLOMCJ</author><pubDate>Mon, 25 May 2020 15:33:34 +0800</pubDate><description><![CDATA[从左到右依次是全局、局部、Retinex图像增强算法。
全局直方图均衡化增强只是将原图像的直方图进行了均衡化，未能有效保持原始图像的局部特征，容易出现色彩失真问题
局部直方图处理，可以在一定程度上保持原始图像的局部特征，增强图像处理效果。通过处理R,G,B三层通道分别进行局部直方图均衡化。
Retinex图像增强算法可以平衡图像灰度动态范围压缩、图像增强、图像颜色三个指标，能够实现对含雾图像的自适应性增强。通过处理R,G,B三层通道分别应用Retinex图像增强算法，再整合到新的图像的方式进行。

...]]></description><category></category></item><item><title><![CDATA[Manacher Algorithm讲解]]></title><link>https://blog.youkuaiyun.com/GLOMCJ/article/details/106302228</link><guid>https://blog.youkuaiyun.com/GLOMCJ/article/details/106302228</guid><author>GLOMCJ</author><pubDate>Sat, 23 May 2020 16:39:57 +0800</pubDate><description><![CDATA[首先我们解决下奇数和偶数的问题，在每个字符间插入"#"，并且为了使得扩展的过程中，到边界后自动结束，在两端分别插入 “^” 和 “$”，两个不可能在字符串中出现的字符，这样中心扩展的时候，判断两端字符是否相等的时候，如果到了边界就一定会不相等，从而出了循环。经过处理，字符串的长度永远都是奇数了。
首先我们用一个数组 P 保存从中心扩展的最大个数，而它刚好也是去掉 “#” 的原字符串的总长度。例如下图中下标是 6 的地方。可以看到 P[ 6 ] 等于 5，所以它是从左边扩展 5 个字符，相应的右边也是扩展 5]]></description><category></category></item><item><title><![CDATA[关于信道编码的问题]]></title><link>https://blog.youkuaiyun.com/GLOMCJ/article/details/106242529</link><guid>https://blog.youkuaiyun.com/GLOMCJ/article/details/106242529</guid><author>GLOMCJ</author><pubDate>Wed, 20 May 2020 19:11:39 +0800</pubDate><description><![CDATA[1.信源编码着重于对信号的容量进行压缩，提高传输效率（比特流）；
2.信道编码针对多变的信道插入冗余信息，增加传输的稳定性（比特流）；
3.信号调制则是将比特流转成了特定的波形进行传输，根据调制方式的不同，即可能是一个比特对应一个波形，也有可能是数个比特对应一个波形（高阶调制）

...]]></description><category></category></item><item><title><![CDATA[get() 和 getline() 函数以及cin]]></title><link>https://blog.youkuaiyun.com/GLOMCJ/article/details/106162311</link><guid>https://blog.youkuaiyun.com/GLOMCJ/article/details/106162311</guid><author>GLOMCJ</author><pubDate>Sat, 16 May 2020 17:33:09 +0800</pubDate><description><![CDATA[方法get(char&amp;) 和 get(void)提供不跳过空白的单字符输入功能
函数get(char*,int,char) 和 getline(char*,int,char)在默认情况下读取整行而不是一个单词。
他们都是读取字符输入，而不会跳过空白，也不进行数据转化

...]]></description><category></category></item><item><title><![CDATA[刷新输出缓冲区]]></title><link>https://blog.youkuaiyun.com/GLOMCJ/article/details/106154374</link><guid>https://blog.youkuaiyun.com/GLOMCJ/article/details/106154374</guid><author>GLOMCJ</author><pubDate>Sat, 16 May 2020 09:39:43 +0800</pubDate><description><![CDATA[如果程序使用cout将字节发送给标准输出，情况将如何？由于ostream类对cout对象处理的输出进行缓冲，所以输出不会立即发送到目标地址，而是被存储在缓冲区中，直到缓冲区填满。然后，程序将刷新（flush）缓冲区，把内容发送出去，并清空缓冲区，以存储新的数据。通常，缓冲区为512字节或其整数倍。当标准输出连接的是硬盘上的文件时，缓冲可以节省大量的时间。毕竟，不希望程序为发送512字节，而存取磁盘512次。将512个字节收集到缓冲区中，然后一次性将它们写入硬盘的效率要高得多。
然而对于屏幕输出，程序不必等到]]></description><category></category></item><item><title><![CDATA[C-和string类输入]]></title><link>https://blog.youkuaiyun.com/GLOMCJ/article/details/106144848</link><guid>https://blog.youkuaiyun.com/GLOMCJ/article/details/106144848</guid><author>GLOMCJ</author><pubDate>Fri, 15 May 2020 16:48:42 +0800</pubDate><description><![CDATA[对于C-风格字符串，有三种方式
char info[100];
cin &gt;&gt; info; //read a word
cin.getline(info, 100); //read a line, discard \n
cin.get(info, 100);  //read a line,leave \n in queue

对于string对象， 有两种方式：
string stuff;
cin &gt;&gt; stuff; //read a word
getline(cin, stuff);]]></description><category></category></item><item><title><![CDATA[新的构造函数规则]]></title><link>https://blog.youkuaiyun.com/GLOMCJ/article/details/106098100</link><guid>https://blog.youkuaiyun.com/GLOMCJ/article/details/106098100</guid><author>GLOMCJ</author><pubDate>Wed, 13 May 2020 14:54:46 +0800</pubDate><description><![CDATA[class A
{
   int a;
public:
   A(int n = 0): a(n){}
   ...
};
class B : public A
{
   int b;
public:
   B(int m = 0, int n = 0): A(n),b(m){}
   ...
};
class C : public B
{
   int c;
public:
   C(int q = 0, int m = 0, int n = 0): B(m, n), c(q){}
   ...
};

]]></description><category></category></item><item><title><![CDATA[构造函数访问权限问题]]></title><link>https://blog.youkuaiyun.com/GLOMCJ/article/details/106093793</link><guid>https://blog.youkuaiyun.com/GLOMCJ/article/details/106093793</guid><author>GLOMCJ</author><pubDate>Wed, 13 May 2020 11:10:07 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[引用的作用]]></title><link>https://blog.youkuaiyun.com/GLOMCJ/article/details/106087882</link><guid>https://blog.youkuaiyun.com/GLOMCJ/article/details/106087882</guid><author>GLOMCJ</author><pubDate>Tue, 12 May 2020 23:29:10 +0800</pubDate><description><![CDATA[使用引用的主要有两个目的：
1 减少值的拷贝，提高性能；
2 完成指针的作用，完成对变量本尊而非副本的修改。

]]></description><category></category></item><item><title><![CDATA[关于返回对象和返回引用]]></title><link>https://blog.youkuaiyun.com/GLOMCJ/article/details/105943728</link><guid>https://blog.youkuaiyun.com/GLOMCJ/article/details/105943728</guid><author>GLOMCJ</author><pubDate>Wed, 06 May 2020 09:17:35 +0800</pubDate><description><![CDATA[如果被返回的对象是被调用函数重的局部变量，则不应该按引用方式返回它，因为在被调用函数执行完毕时，局部变量将调用析构函数。因此，当控制权回到调用函数时，引用指向的对象将不复存在。在这种情况下，应返回对象而不是引用。如果方法或函数要返回一个没有公有复制构造函数的类（如ostream类）的对象，它必须返回一个指向这种对象的引用。

...]]></description><category></category></item><item><title><![CDATA[关于什么时候调用析构函数的问题以及复制构造函数]]></title><link>https://blog.youkuaiyun.com/GLOMCJ/article/details/105933177</link><guid>https://blog.youkuaiyun.com/GLOMCJ/article/details/105933177</guid><author>GLOMCJ</author><pubDate>Tue, 05 May 2020 15:43:45 +0800</pubDate><description><![CDATA[1.创建一个名为stock1的Stock对象，并将其数据成员初始化为指定的值：
Stock stock("NanoSmart", 12, 20.0);//输出如下：
//Comstructor using NanoSmart called
//Company: NanoSmart   Share: 12

2.允许调用析构函数来创建一个临时变量，然后将该临时变量复制到stock2中，并丢弃它，如果...]]></description><category></category></item></channel></rss>